ITelemetry.InstrumentationKey пуст
Я пытаюсь установить инструментальный ключ AppInsights TTelemetry из appsettings.json. Мой код выглядит так
Program.cs
WebHost.CreateDefaultBuilder(args)
.UseApplicationInsights()
.UseStartup<Startup>()
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
});
Startup.cs, ConfigureServices ()
services.AddApplicationInsightsTelemetry(Configuration);
appsettings.json
"ApplicationInsights": {
"InstrumentationKey": "[my key]"
},
Тем не менее, когда я запускаю _serviceProvider.GetService() или получаю TelemetryClient посредством внедрения зависимостей в контроллер, telemetry.Context.InstrumentationKey пуст.
1 ответ
Это по замыслу.
TelemetryClient.InstrumentationKey or TelemetryClient.Context.InstrumentationKey
должно быть пустым, если вы явно не установите его там как переопределение того, что находится в конфигурации.
Как упоминалось выше, явно установите его следующим образом: TelemetryClient client = new TelemetryClient() { InstrumentationKey= "your_ikey" };
, затем вы можете использовать.Context.InstrumentationKey, чтобы получить ключ.
И вы можете найти подробности по этому вопросу.
Надеюсь, поможет.