我有一个运行在.net 4.0和IIS7上的web应用程序。当表单提交时,我必须调用两个外部web服务,等待响应,处理它,并返回响应。问题是,web服务需要大约20秒的时间来回复(这是我无法控制的)。我决定采用异步方法,这样我就可以同时访问两个服务,而不是点击一个等待响应,然后再点击另一个响应。
现在,如果我让10个用户同时提交,我将在20个不同的线程上创建20个出站请求。我读到IIS可能对此并不满意,因为限制设置为每个CPU 12个出站TCP连接(machine.config中的maxconnections)。有人能确认一下吗?在这个特殊的场景中,我还需要考虑什么来确保IIS发挥的很好吗?
谢谢!
发布于 2010-09-22 21:38:02
您也可以在web.config中覆盖maxconnection值。
<system.net>
<connectionManagement>
<add address="*" maxconnection="20"/>
</connectionManagement>
</system.net>我正在开发一个应用程序,它还使用多个外部web服务作为数据源。特定的页面可以进行十几次异步web服务调用。因此,在我们的示例中,maxconnection在web.config中被设置为2000,并且我们没有观察到出站连接的限制。
唯一要提醒的是,out应用程序仍然是在IIS6中托管的,所以我并不完全肯定这在IIS7中将保持不变。但是,由于maxconnection配置是.NET特定的,而不是IIS特定的,所以我认为不会发生任何更改。
https://serverfault.com/questions/183758
复制相似问题