[英]BadHttpRequestException caused by slow clients are showing up in my application insights
[英]Application Insights - No data showing up from server
这是一个很难问的问题......所以我将尽我所能描述情况的轮廓:
我有一个 WCF 服务,它使用我遵循的 AI 控制台实现://https://docs.microsoft.com/en-us/azure/azure-monitor/app/console/
示例代码:
string applicationInsightsConnectionString = ConfigurationManager.AppSettings["ApplicationInsightsConnectionString"];
TelemetryConfiguration configuration = TelemetryConfiguration.CreateDefault();
configuration.ConnectionString = applicationInsightsConnectionString;
var telemetryClient = new TelemetryClient(configuration);
global.asax 调用telemetryClient.TrackTrace("application start");
在应用程序启动时,这是我希望在 AI 中看到的最简单的示例。
当通过 Visual Studio 在本地运行此代码并给它 30 秒刷新时,我在 AI 中得到一个结果:
[![在此处输入图像描述][1]][1]
可悲的是,当我将此代码部署到服务器以在 IIS 中运行时,我没有任何记录显示在 AI 中。
更让我困惑的是,这是我以完全相同的方式完成的第三次实现(所有 WCF 服务都在 IIS 中运行),但这是唯一没有在 azure 门户中记录任何结果的实现,尽管它在本地工作.
我已经三次检查了 web.config 是否具有正确的连接字符串,并且我添加了测试代码以通过将简单的测试行写入数据库来检查调用是否成功......一切似乎都很好。
有什么想法我可以检查以使其正常工作吗? 我有点卡住了,因为我想不出下一步行动来解决问题。
非常感谢,戴维
在使用 WireShark 进行一些调试后,我发现对应用程序洞察的调用是在 TSL1.0 中,而不是 TSL1.2 中,因此不被接受。
添加后
protected void Application_Start(object sender, EventArgs e)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
}
到 global.asax.cs
电话在 TSL1.2 中,它们到达 azure :)
(将以下内容添加到 web.config 也可以)
<system.web>
<httpRuntime targetFramework="4.7.2"/>
</system.web>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.