. NET core 3.1 ApplicationInsight IntrumentKey null - PullRequest
0 голосов
/ 28 апреля 2020

In. net core 3.1 Приложение Blazor, мой инструментальный ключ всегда равен нулю. Я добавил следующий пакет

Microsoft.ApplicationInsights.AspNetCore 2.14.0-beta5

в файле startup.cs, я добавляю следующую строку

services.AddApplicationInsightsTelemetry();

Я даже пытался жестко кодировать клавишу инструмента с помощью опций, но там тоже не повезло.

Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions aiOptions
              = new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions();

            aiOptions.InstrumentationKey = Configuration.GetSection("ApplicationInsights:InstrumentationKey").Value;
services.AddApplicationInsightsTelemetry(options);

в appsetting. json, я определил приложение Insight

 "ApplicationInsights": {
    "InstrumentationKey": "XXXXXXX-4f59-4580-a96a-XXXXXXX"
  }

На моей странице Blazor я вставляю зависимость

@inject Microsoft.ApplicationInsights.TelemetryClient telemetryClient;

сейчас, когда я ищу telemetryClient.InstrumentationKey пусто.

Что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Это старая проблема .

TelemetryClient.InstrumentationKey или TelemetryClient.Context.InstrumentationKey должна быть пустой, если вы явно не установите ее там как переопределение того, что находится в конфигурации.

Как упомянуто выше, явно задайте его следующим образом: TelemetryClient client = new TelemetryClient() { InstrumentationKey= "your_ikey" };, затем ключ можно увидеть с помощью TelemetryClient.InstrumentationKey или TelemetryClient.Context.InstrumentationKey.

Примечание. Эта проблема не нарушает функциональные возможности приложений.

0 голосов
/ 29 апреля 2020

Это странно. Я попытался просмотреть ключ, вызвав telemetryClient.InstrumentationKey, но, как вы сказали, он пуст. Но когда я пытаюсь что-то отследить с помощью .TrackEvent, он записывает в журнал.

Например;

_telemetryClient.TrackEvent("BlazorAppSampleEvent", new Dictionary<string, string>() { { "Hello from", "Blazor App" } });

App Insight Live Sample

Звучит интересно я буду еще пару минут и буду обновлять здесь, если получу что-то новое.

Кстати, как вы знаете, Microsoft.ApplicationInsights.AspNetCore 2.14.0 общедоступен, поэтому вы можете обновить его с бета-5 до publi c one.

https://www.nuget.org/packages/Microsoft.ApplicationInsights.AspNetCore/2.14.0/

Microsoft.ApplicationInsights.AspNetCore 2.14.0

...