我有一个运行很长时间的Windows服务,该服务运行一个队列侦听器。我引用了ApplicationInsights nuget包并设置了依赖收集器。它完美运行,而无需在消息处理中使用任何与Application Insights相关的代码行。在Azure内部,我可以看到该请求被称为“流程”,并且正确附加了所有跟踪和依赖项。
现在,我需要将某些请求标记为“失败”。在处理消息时,如何访问特定的RequestTelemetry以设置其属性?
这就是我启动遥测的方式。我在Windows服务启动时调用Start方法: 公共类TelemetryApp { 私有静态DependencyTrackingTelemetryModule _dependencyTrackingTelemetryModule;
public static void Start()
{
var appInsightsConfiguration = TelemetryConfiguration.Active;
appInsightsConfiguration.InstrumentationKey = SettingsHelper.AppInsightsInstrumentationKey;
appInsightsConfiguration.TelemetryInitializers.Add(new OperationCorrelationTelemetryInitializer());
appInsightsConfiguration.TelemetryInitializers.Add(new HttpDependenciesParsingTelemetryInitializer());
DependencyTracking.Initialize(appInsightsConfiguration);
}
public static void Stop()
{
_dependencyTrackingTelemetryModule.Dispose();
}
}