Application Insight-适用于.NET Core,但不适用于Service Fabric中的网站

时间:2018-07-01 18:39:43

标签: azure azure-service-fabric azure-application-insights

我试图将ServiceFabric的请求记录到Application Insight中,但没有成功。

我已经构建了两个应用程序,一个具有配置的Application Insight资源和正确的检测密钥的.NET Core 2.1 WebApi。调试时,请求/异常存储在Azure应用程序见解中。

然后我在ServiceFabric有一个基本网站。它具有相同的程序包,并配置有相同的应用程序见解资源,但是我从没在Application Insights中看到来自SF应用程序的任何请求/异常。

两个应用程序都说我已100%配置(菜单Project-> Application Insights-> Configure Application Insights ...),并且都在voting-rg(资源组)中使用了jahav-voting-ai(资源)。

我试图用 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-asp-net-troubleshoot-no-data,但没有成功(可能是因为我对SF和AI都很陌生)。

Service Fabric项目没有the tutorial中所述的Microsoft.ApplicationInsights.ServiceFabric.Native,我已经尝试过,但是完全没有帮助。

基本上,我不知道最基本的.NET Core SF项目缺少什么来使其记录对AI的请求/异常。

我发现有几个使用.NET Framework的项目(这些项目可以工作并记录对AI的请求/异常),但是对于.NET Core没有任何项目。

The archive with both projects

1 个答案:

答案 0 :(得分:0)

TL; DR:将.UseApplicationInsights()添加到WebHost建筑物中,以便将Application Insights集成到OWIN管道中。

当用户添加Application Insight时, Cloud-> ASP.NET Core Web应用程序模板和 Cloud-> Service Fabric应用程序模板的行为有所不同遥测。

通过 Cloud-> ASP.NET Core Web Application 模板创建的项目将.UseApplicationInsights()添加到BuildWebHost()的{​​{1}}方法中,而从 Cloud-> Service Fabric应用程序模板创建的项目将不会。

因此,Azure中托管的.NET Core项目确实收集了遥测数据,而Service Fabric没有收集。区别在于缺少指令,无法在构建Web主机时使用应用程序见解。