我有一个运行队列侦听器的长时间运行的 Windows 服务。我已经引用了 ApplicationInsights nuget 包并设置了依赖收集器。它可以完美运行,无需任何与消息处理中的 Application Insights 相关的代码行。在 Azure 中,我可以看到请求被称为“进程”,并且正确附加了所有跟踪和依赖项。
现在我需要将一些请求标记为失败。如何在处理消息时访问特定的 RequestTelemetry 以设置其属性?
这就是我启动遥测的方式。我在 Windows 服务启动时调用 Start 方法: public class TelemetryApp { private static 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();
}
}