以编程方式为 ApplicationsInsights 设置不同的 InstrumentationKeys
Set different InstrumentationKeys for ApplicationsInsights programmatically
我在 ASP.NET Core 3 API 中使用 Application Insights - 并通过 Startup.cs
中的 appsettings.json
通过以下方式传递 InstrumentationKey:
services.AddApplicationInsightsTelemetry(Configuration);
行得通。但是我想根据其他参数使用不同的InstrumentationKeys
。
如何使用其他键启动 AI(全部在 appsettings.json
或代码中定义)?
有多种方法。
如果您手动(通过 Track 方法)发射遥测项目,那么一种选择是在项目本身上明确设置它。这是为 RequestTelemetry through TelemetryContext.InstrumentationKey 属性.
设置的示例
var requestTelemetry = new RequestTelemetry();
requestTelemetry.Context.InstrumentationKey = "<your key>";
另一种选择是用 Telemetry Initializer 覆盖此值。
另一种选择是拥有一个单独的遥测客户端(具有不同的检测密钥)。但我不确定如何在 .NET Core 中实现这一点。
我在 ASP.NET Core 3 API 中使用 Application Insights - 并通过 Startup.cs
中的 appsettings.json
通过以下方式传递 InstrumentationKey:
services.AddApplicationInsightsTelemetry(Configuration);
行得通。但是我想根据其他参数使用不同的InstrumentationKeys
。
如何使用其他键启动 AI(全部在 appsettings.json
或代码中定义)?
有多种方法。
如果您手动(通过 Track 方法)发射遥测项目,那么一种选择是在项目本身上明确设置它。这是为 RequestTelemetry through TelemetryContext.InstrumentationKey 属性.
设置的示例var requestTelemetry = new RequestTelemetry();
requestTelemetry.Context.InstrumentationKey = "<your key>";
另一种选择是用 Telemetry Initializer 覆盖此值。
另一种选择是拥有一个单独的遥测客户端(具有不同的检测密钥)。但我不确定如何在 .NET Core 中实现这一点。