gpt4 book ai didi

c# - 处于 Debug模式时的 Application Insights

转载 作者:太空狗 更新时间:2023-10-30 01:15:17 28 4
gpt4 key购买 nike

我刚刚在 MVC 应用程序中启用了 Application Insights,并注意到在本地调试时,我的 Azure Application Insight 中会捕获跟踪信息。

处于 Debug模式时,我希望阻止应用程序在 Azure Application Insight 中记录事件,但仍会在 Visual Studio 的“诊断工具”>“事件”窗口中显示事件和日志记录信息。

我已尝试以下操作,虽然这会阻止在我的 Azure AI 中捕获事件,但 Visual Studio 不再在“事件”窗口中显示调试信息。

 protected void Application_Start()
{
#if DEBUG
TelemetryConfiguration.Active.DisableTelemetry = true;
#endif
}

我上网寻找答案,但没有结果。希望有人能帮忙。

最佳答案

最便宜的方法是将您的仪器 key 设置为全 0。没有 NULL iKey,因此它实际上只会删除消息。

00000000-0000-0000-0000-000000000000

如果您想使用 Application_Start(),您可以使用 #DEBUG 指令来完成此操作,也可以使用 System.Diagnostics.Debugger.IsAttached属性(property)。然而,这种方法并不完全可靠。您可以尝试,但您的体验可能不一致。

如果你有时间,你应该做一个 TelemetryInitializer这将根据调试器是否连接来更改仪器 key 。这将确保只有当您处于调试 session 中时才会发生这种情况。这样,如果您不小心将调试版本发布到生产环境,您将不会丢失遥测数据。

public class CustomeWebRequestTelemetryModule :  Microsoft.ApplicationInsights.Extensibility.ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
if (telemetry != null && System.Diagnostics.Debugger.IsAttached)
{
telemetry.Context.InstrumentationKey = "00000000-0000-0000-0000-000000000000";
}
}
}

关于c# - 处于 Debug模式时的 Application Insights,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38959413/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com