Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.Net核心网站在收到一系列请求后停止响应_C#_Asp.net Core_Iis - Fatal编程技术网

C# ASP.Net核心网站在收到一系列请求后停止响应

C# ASP.Net核心网站在收到一系列请求后停止响应,c#,asp.net-core,iis,C#,Asp.net Core,Iis,在IIS上运行InProc的ASP.Net核心网站的生产过程中,我遇到了以下问题。已安装的.Net核心运行时为2.2.8 在signar上发出推送通知后,我的客户端将向特定URL发送大约100个请求,该URL绑定到一个控制器方法,如下所示: [HttpPost()] [Route("Api/GetData")] public string[] GetData() 在处理了几个请求之后,服务器突然停止响应几分钟,然后立即处理所有响应。在应用程序日志中看不到错误,IIS日志显示请求的响应时间很长

在IIS上运行InProc的ASP.Net核心网站的生产过程中,我遇到了以下问题。已安装的.Net核心运行时为2.2.8

在signar上发出推送通知后,我的客户端将向特定URL发送大约100个请求,该URL绑定到一个控制器方法,如下所示:

[HttpPost()]
[Route("Api/GetData")]
public string[] GetData()
在处理了几个请求之后,服务器突然停止响应几分钟,然后立即处理所有响应。在应用程序日志中看不到错误,IIS日志显示请求的响应时间很长

我已经在IIS中启用了分析耗时超过9秒的请求的功能,并且我看到IIS实际会及时处理需要花费很长时间才能响应的请求

例如:

  • IIS日志:47952ms
2020-05-12 12:18:15 169.XXX.XXX.XXX POST/Api/GetData-443- 195.XXX.XXX.XXX Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko 200 0 0 79479 94547952

  • IIS请求跟踪日志失败:

我以前没有使用过IIS失败的请求跟踪,我不确定应该如何解释这一点。我首先想到代码中有一个锁,但我还没有找到它,我不确定它会如何影响对其他URL的请求?你的想法是什么

一个可能很重要的注意事项是,客户端位于代理的后面,因此服务器可以看到所有客户端的IP相同。我们以前从未在另一台服务器上遇到过此问题

更新:我们使用一个版本的
GetData()
重现了这个问题,该版本只返回一个静态字符串数组。我们发现数组的大小很重要。我们以88KB的响应复制了这个问题,但没有一个小的响应(2.5K)。查看.net核心日志,该方法的结果似乎被迅速计算出来,但响应本身却悬而未决(我们还没有弄清楚原因)升级到.Net Core 3.1解决了问题…
我保留这个问题,以防有人能提供解释。

您有任何异步/等待代码吗?对我来说,这听起来像是阻塞。您是否在等待
GetData[]
中的某些内容(例如数据库中的数据)?可能处理时间太长。您发布的图像没有显示根本原因。记录在FRT日志中的整个过程在1秒内完成。请转到日志->请求详细信息->性能视图,然后单击查看跟踪。请发布耗时9秒的流程。就是这样,没有。它们都显示您是否尝试设置最高日志级别并检查错误消息?是否有任何异步/等待代码?对我来说,这听起来像是阻塞。您是否在等待
GetData[]
中的某些内容(例如数据库中的数据)?可能处理时间太长。您发布的图像没有显示根本原因。记录在FRT日志中的整个过程在1秒内完成。请转到日志->请求详细信息->性能视图,然后单击查看跟踪。请发布耗时9秒的流程。就是这样,没有。它们都显示您试图设置最高日志级别并检查错误消息吗?