Изменить инструментальный ключ для входа в ASP.NET Core с помощью Application Insights - PullRequest
1 голос
/ 06 октября 2019

Есть ли способ переключить инструментальную клавишу на ходу, основываясь на некоторой бизнес-логике, на целевое назначение журнала для разных экземпляров Application Insights.

Поскольку мы настраиваем Application Insights для использования в качестве регистратора в стартовом проекте,поэтому я не могу найти какой-либо из готовых подходов или подобрать обходной путь для этого требования.

Вышеуказанное переключение может быть легко выполнено, если я использую Application Insight в качестве клиента телеметрии, потому что в этом случае яможет предоставить клиенту различные ключи инструментария во время выполнения, что не одинаково для инъекций ILogger с использованием встроенного DI ASP.NET Core.

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Запишите инициализатор для условного переопределения ключа инструментария, как показано ниже:

class MyTelemetryInstrumentationKeyOverrider : ITelemetryInitializer
    {
        public void Initialize(ITelemetry telemetry)
        {
            // conditionally do this.
            telemetry.Context.InstrumentationKey = "newkey";
        }
    }
1 голос
/ 06 октября 2019

Это должно быть сделано в точке запуска приложения, в этом случае ДА. но нет никакого способа изменить после запуска приложения.

Вы можете взглянуть на Динамический инструментальный ключ

protected void Application_Start()
{
  Microsoft.ApplicationInsights.Extensibility.
    TelemetryConfiguration.Active.InstrumentationKey = 
      // - for example -
      WebConfigurationManager.AppSettings["ikey"];
...