.net 在IIS7中管理并发连接

.net 在IIS7中管理并发连接,.net,asp.net,iis-7,asp.net-mvc-3,.net,Asp.net,Iis 7,Asp.net Mvc 3,我的主机提供商(winhost.com)有问题。我的应用程序是基于ASP.NET 4 MVC 3构建的。直到几天前,一切都很顺利。突然间,当我试图访问我的网站(wikipediamaze.com)时,我开始出现503个错误。这并不是一直都发生,只是大部分时间 当有人开始玩游戏时,会向wikipedia.org发出请求,以获取拼图中当前步骤的页面内容。基本上我是在维基百科网站上抓取屏幕,注入一些html,然后显示结果。收到数据后,我的所有web请求都会立即关闭 winhost告诉我的是,仍有连接处

我的主机提供商(winhost.com)有问题。我的应用程序是基于ASP.NET 4 MVC 3构建的。直到几天前,一切都很顺利。突然间,当我试图访问我的网站(wikipediamaze.com)时,我开始出现503个错误。这并不是一直都发生,只是大部分时间

当有人开始玩游戏时,会向wikipedia.org发出请求,以获取拼图中当前步骤的页面内容。基本上我是在维基百科网站上抓取屏幕,注入一些html,然后显示结果。收到数据后,我的所有web请求都会立即关闭

winhost告诉我的是,仍有连接处于打开状态,导致对站点的任何其他请求都出现503服务不可用错误。从我的观点来看,一次只能向维基百科迷宫网站提出一个请求。如果你不断刷新页面,你最终会得到HTML,但是所有后续请求(css、图像、js)都会得到503错误。即使是那些永远都不会呼叫维基百科.org的页面

如果这是IIS中的连接限制问题,那么传入和传出(内部发出的请求)是否都属于同一个bucket?如果我确定我所有的连接都被关闭了(我以前从未遇到过这个问题),还有什么原因会导致这种情况


这是一个托管环境,所以我的手有点束缚,我知道这一切都是不明确的,但如果有人有任何见解,我将不胜感激。

我的第一个建议是,确保在完成连接时关闭连接(最好使用语句),因为这样它们就可以被使用。我知道你说过你已经在关闭它们了,但有时你不得不处理它们

除此之外,您还可以通过在web.config文件中添加以下内容来更改服务器与其他服务器的连接数

<system.net>
    <connectionManagement>
        <add address="*" maxconnection="48" />
    </connectionManagement>
</system.net>


我将其添加到配置中,但仍然存在错误。在我的应用程序中,只有两个地方可以创建web请求,在这两个地方,我都将它们包装在using语句中。您使用什么方法来执行web请求?第140行实际上,在这个特殊的例子中,我没有使用using语句,但我在finally块中关闭了它?当您不使用HttpWebRequest的任何高级功能时(除了UserAgent),您可以简化该部分。