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

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

注意

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

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

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

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

部署.NET应用服务 Web 应用后,可以在 Azure 门户中启用 Snapshot Debugger。

  1. 转到 Azure 门户中的 App Service Web 应用。

  2. 在左侧菜单中,选择“ 监视>Application Insights”。

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

  3. 选择 “打开 Application Insights”。

    如果你要使用现有的 Application Insights 资源,请在“更改资源”下选择相应的选项

  4. “配置您的应用程序”下,选择 .NET

  5. 将两个 Snapshot Debugger 开关设为“打开”

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

  6. 现已启用 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 文档

不支持的方案

以下情景演示了不支持快照收集器的情况。

场景 副作用 建议
直接在应用程序中使用快照收集器 SDK(.csproj),并启用高级选项 互操作 你将失去本地的 Application Insights SDK(包括 Snapshot Collector 遥测数据),并且将无法使用快照。
应用程序可能会在启动时崩溃 System.ArgumentException: telemetryProcessorType does not implement ITelemetryProcessor.
有关 Application Insights 功能 互操作的详细信息,请参阅 Application Insights 集成疑难解答
如果使用高级选项 互操作,请使用通过 Azure 门户启用的无代码快照收集器注入。