在 Azure 应用程序服务中为 .NET 应用启用快照调试器

注意

如果使用的是 .NET Core 预览版,或者应用程序引用了 Application Insights SDK(通过依赖程序集直接或间接),请按照为其他环境启用 Snapshot Debugger 的说明进行操作,将 Microsoft.ApplicationInsights.SnapshotCollector NuGet 包包含在应用程序中。

Snapshot Debugger 目前支持按 Windows 服务计划在 Azure 应用程序服务上运行的 ASP.NET 和 ASP.NET Core 应用。

建议在使用 Snapshot Debugger 时在“基本”或更高的服务层级上运行应用程序。 对于大多数应用程序:

  • “免费”和“共享”服务层级没有足够的内存或磁盘空间用于保存快照。
  • 消耗层级当前不可用于 Snapshot Debugger。

尽管已预安装 Snapshot Debugger 作为应用服务运行时的一部分,但需要启用它才能获取应用服务应用的快照。 Snapshot Debugger 的无代码安装遵循 .NET Core 支持策略

部署 .NET 应用程序服务 Web 应用后:

  1. 在 Azure 门户中导航到你的应用服务。

  2. 在左侧菜单中选择“设置”>“Application Insights”。

    显示了在应用程序服务中启用 Application Insights 位置的屏幕截图。

  3. 单击“启用 Application Insights”。

    • 如果你要使用现有的 Application Insights 资源,请在“更改资源”下选择相应的选项
  4. 在“检测应用程序”下,选择“.NET”选项卡

  5. 将两个 Snapshot Debugger 开关切换到“打开”

    显示了如何添加 Application Insights 站点扩展的屏幕截图。

  6. 现已启用 Snapshot Debugger。

禁用快照调试器

若要为应用服务资源禁用 Snapshot Debugger,请执行以下操作:

  1. 在 Azure 门户中导航到你的应用服务。
  2. 在左侧菜单中选择“设置”>“Application Insights”。
  3. 将 Snapshot Debugger 开关切换到“关闭”

为应用程序生成可触发异常的流量。 然后等待 10 到 15 分钟,这样快照就会发送到 Application Insights 实例。

为中国云区域启用 Snapshot Debugger

目前,由世纪互联运营的 Microsoft Azure 区域需要通过 Application Insights 连接字符串修改终结点。

连接字符串属性 中国云
SnapshotEndpoint https://snapshot.monitor.azure.cn

若要详细了解其他连接替代,请参阅 Application Insights 文档

不支持的方案

可以在下面找到不支持 Snapshot Collector 的场景:

方案 副作用 建议
在应用程序 (.csproj) 中直接使用 Snapshot Collector SDK,并已启用高级选项“互操作” 本地 Application Insights SDK(包括 Snapshot Collector 遥测)会丢失,并且没有任何快照可用。
应用程序在启动 System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor. 时可能会崩溃
详细了解 Application Insights 功能“互操作”。
如果使用高级选项“互操作”,请使用无代码 Snapshot Collector 注入(通过 Azure 门户启用)。

后续步骤