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, чтобы получить ключ.

И вы можете найти подробности по этому вопросу.

Надеюсь, поможет.

Другие вопросы по тегам