Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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# 对同一Web服务的多个调用阻塞?_C#_Asp.net_Asp.net 3.5 - Fatal编程技术网

C# 对同一Web服务的多个调用阻塞?

C# 对同一Web服务的多个调用阻塞?,c#,asp.net,asp.net-3.5,C#,Asp.net,Asp.net 3.5,我们有一个向第三方web服务发出请求的页面。在重载情况下,此响应时间显著延长,但第三方报告说,处理时间保持不变。这些计时显示,从收到请求到发回请求的时间总是在1.5-2.0秒左右。现在,我们正在经历超过20秒的等待时间。我对ASP.NET的理解是,每个请求都将在IIS线程池线程上运行,并使请求返回到第三方服务并进行处理。所以我真的不明白到底是什么阻碍了我们。有什么我遗漏的吗??是否有超过IIS的阻止阈值限制 如果我遗漏了一些东西,那么一本涵盖这一主题的物理书籍推荐书也将是一个非常受欢迎的答案 .

我们有一个向第三方web服务发出请求的页面。在重载情况下,此响应时间显著延长,但第三方报告说,处理时间保持不变。这些计时显示,从收到请求到发回请求的时间总是在1.5-2.0秒左右。现在,我们正在经历超过20秒的等待时间。我对ASP.NET的理解是,每个请求都将在IIS线程池线程上运行,并使请求返回到第三方服务并进行处理。所以我真的不明白到底是什么阻碍了我们。有什么我遗漏的吗??是否有超过IIS的阻止阈值限制


如果我遗漏了一些东西,那么一本涵盖这一主题的物理书籍推荐书也将是一个非常受欢迎的答案

.NET limits按照HTTP规范的建议,对单个主机强制执行两个并发web请求的限制。因此,在您的情况下,需要更多时间执行的不是web服务,而是您的应用程序延迟请求以保持在该约束内

通过将此密钥添加到配置文件,可以提高web服务的限制:

  <system.net>
    <connectionManagement>
      <!-- specific servers... -->
      <add address="http://example.org" maxconnection="20" />

      <!-- ...or any server -->
      <add address="*" maxconnection="8" />
    </connectionManagement>
  </system.net>

您可能需要阅读以下内容以了解更多信息:


页面是从客户端还是从服务器端发出请求?它是从服务器端发出请求,这有关系吗?:)只有当服务器端的同一线程发出请求时,才会出现这种情况。如果有多个用户,因此有多个asp.net会话,那么每个用户都会在自己的线程中,并且没有这些限制。“是吗?”迈克,那不是真的。如果ASP.NET甚至不同的应用程序在同一应用程序池中运行,该限制会影响进程中的所有线程。