C# Azure快照调试和Azure函数

C# Azure快照调试和Azure函数,c#,azure,azure-functions,azure-application-insights,C#,Azure,Azure Functions,Azure Application Insights,我一直试图让快照调试与Azure功能一起工作,但都没有用,我想知道是否有其他人对此感到非常高兴 从本质上讲,它似乎很容易开始工作(它确实适用于azure网站),并且只包括对Microsoft.ApplicationInsights.SnapshotCollector的引用 然而,尽管我可能会尝试,但我无法让它在Azure函数中工作。我已经尝试添加相同的引用,并使用telemetry client with TrackException,果然异常出现在门户的Insight blade中,但我只得到

我一直试图让快照调试与Azure功能一起工作,但都没有用,我想知道是否有其他人对此感到非常高兴

从本质上讲,它似乎很容易开始工作(它确实适用于azure网站),并且只包括对Microsoft.ApplicationInsights.SnapshotCollector的引用

然而,尽管我可能会尝试,但我无法让它在Azure函数中工作。我已经尝试添加相同的引用,并使用telemetry client with TrackException,果然异常出现在门户的Insight blade中,但我只得到了“收集调试快照…”链接,而不是“打开调试快照”链接


感谢

Azure功能团队发布了此问题的修复程序。你需要做两件事

  • 按照链接中的说明安装NuGet软件包
  • 将以下代码添加到host.Json并部署您的更改
到目前为止,只支持.Net core的2.x版本。Net框架工作得很好


有关更多详细信息,请参阅问题,快照调试器团队成员

要在函数应用程序中启用快照调试器,您必须通过添加以下定义的属性
snapshotConfiguration
更新您的
host.json
文件,并重新部署您的函数

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "snapshotConfiguration": {
        "isEnabled": true
      }
    }
  }
}
快照调试器是作为Azure Functions运行时的一部分预安装的,默认情况下它是禁用的

由于快照调试器包含在Azure函数运行时中,因此不需要添加额外的NuGet包或应用程序设置


我们已经创建了有关如何在Azure函数中启用Application Insights Snapshot调试器的适当文档,请参见以下内容:

雷纳托·古铁雷斯


[编辑以在答案中包括如何启用快照调试器片段]

我尝试了其他一些方法,其中之一是在使用遥测客户端之前,尝试直接在中添加SnapShotTelemetryProcessor,但可惜它不起作用。我要么错过了一些明显的东西,要么就是还没有得到支持。var builder=TelemetryConfiguration.Active.TelemetryProcessorChainBuilder;使用((下一步)=>new SnapshotCollectorTelemetryProcessor(下一步));builder.Build();这里是快照调试器上的开发人员。我知道这个回复有点晚,但我很抱歉地说,至少目前为止,Azure函数不支持快照调试器。不过谢谢你的关注。我们将考虑在将来添加支持。啊,好的,非常感谢您的回复。我会保持警惕,当有更新时我会尝试一下。不好意思,我也在尝试设置,谢谢你的回复@pharring@pharringAzure函数快照调试器的任何更新??
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "snapshotConfiguration": {
        "isEnabled": true
      }
    }
  }
}