我们有一个页面向第三方网络服务发出请求。当负载很重时,这个响应时间会显着延长,但是第三方报告说处理时间保持不变。有时间表明,从他们收到请求到他们发送回来的时间总是大约1.5-2.0秒。现在我们正在经历超过20秒的等待时间。我对ASP.NET的理解是,每个请求都将在IIS线程池线程上运行,并向第3方服务返回并处理请求。所以我真的不明白我们可能阻止什么。有什么我想念的吗? IIS之外是否存在阻止的阈值限制?
如果我遗失了某些内容,那么涵盖此主题的实体书籍推荐也将是一个非常受欢迎的补充。
答案 0 :(得分:10)
.NET限制根据HTTP规范的建议,对单个主机强制执行2个并发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>
答案 1 :(得分:3)