В моем проекте используется ApplicationInsightsHttpModule
, который инициализирует Operation.Id
от Microsoft.ApplicationInsights.RequestTelemetry
Значение HTTP, заданное клиентским пользовательским интерфейсом. Теперь я хочу, чтобы мой API был потреблен третьей стороной, которая предоставит HTTP-заголовок X-Operation-Id
, чтобы соотнести наши действия. Как заставить Application Insights инициализировать Operation.Id
из этого заголовка, если он присутствует в запросе?Приложение Insights Operation.Id из HTTP-заголовка
This говорит, что стандартный контекст управляется автоматически AI, поэтому мне нужен образец кода, который показывает, как правильно инициализировать Operation.Id
с пользовательским значением. Следующий код не работает, значение заголовка игнорируется:
var operationInitializer = TelemetryConfiguration.Active.TelemetryInitializers.OfType<Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer>().FirstOrDefault();
if (operationInitializer != null)
{
operationInitializer.RootOperationIdHeaderName = "X-Operation-Id";
}
Возможный дубликат [Добавление идентификатора корреляции в автоматически создаваемую телеметрию с помощью App Insights] (http://stackoverflow.com/questions/32171747/adding-correlation-id-to-automatically-generated-telemetry-with-app-insights) –