我有一个API应用程序在Azure应用程序服务下运行,并安装了应用程序浏览以跟踪API调用的服务器端遥测。在Azure门户中查看Application Insights时,每个服务器调用都会看到两个事件。每个事件都有一个完全相同的时间戳记,响应时间,遥测等。我已经证实,只有一个事件在Web服务器日志中,所以我不会无意中从客户端调用两次相同的函数。应用程序洞察报告每个服务器请求的重复事件
这里有一些截图来说明:
可能是什么造成的?我该如何解决它?
我有一个API应用程序在Azure应用程序服务下运行,并安装了应用程序浏览以跟踪API调用的服务器端遥测。在Azure门户中查看Application Insights时,每个服务器调用都会看到两个事件。每个事件都有一个完全相同的时间戳记,响应时间,遥测等。我已经证实,只有一个事件在Web服务器日志中,所以我不会无意中从客户端调用两次相同的函数。应用程序洞察报告每个服务器请求的重复事件
这里有一些截图来说明:
可能是什么造成的?我该如何解决它?
有一个已知的情况下,可能会导致数据重复:部署为Azure的 Web应用程序
现在,当HTTP模块注册两次并开始接收重复的请求数据时,您可能会遇到这种情况。发生这种情况是因为AI nuget包在web.config中添加HTTP模块定义,但扩展安装会将其他程序集丢入应用程序启动期间动态注册HTTP模块的应用程序bin文件夹 - Microsoft.AI.HttpModule.dll(Microsoft.ApplicationInsights.Extensibility.HttpModule .dll在以前的版本中)。要正确处理这种情况,您需要在应用程序部署过程中通过选择“设置 - >从目标中移除其他文件”来移除扩展剩余部分,以防从VS部署。
选择“删除其他文件目标”选项并从Visual Studio重新部署解决了该问题。谢谢! –
您是否添加了任何手动检测工具,例如对TrackRequest的调用,或者这只是自动检测工具,您将获得我的安装Application Insights?您可以检查Application Insights请求跟踪HTTP模块是否已在您的web.config中注册并且只有一次? –
AI是由Visual Studio自动添加的。有一些TrackTrace和TrackException调用形式的手动工具,但没有对TrackRequest的调用。我将在下一条评论中发布我的Web.config中的AI注册。 –