我有以下情况。
使用Javascript,我对vb.NET页面执行6个AJAX请求。
$.ajax({type: 'POST', url: "/ajax/ajax.aspx?c=1"});
$.ajax({type: 'POST', url: "/ajax/ajax.aspx?c=2"});
$.ajax({type: 'POST', url: "/ajax/ajax.aspx?c=3"});
$.ajax({type: 'POST', url: "/ajax/ajax.aspx?c=4"});
$.ajax({type: 'POST', url: "/ajax/ajax.aspx?c=5"});
$.ajax({type: 'POST', url: "/ajax/ajax.aspx?c=6"});这些页面向其他服务器(网站)发出websites请求。这大约需要1.5分钟。
当我注释掉网页请求并逐个尝试时,它们都在20-30秒内得到响应。因此,尽管请求是异步的,但它们似乎是在服务器端等待前一个请求完成。
Dim webClient As New System.Net.WebClient
webClient.Encoding = Encoding.UTF8
webClient.Proxy = Nothing
Dim result As String = webClient.DownloadString([website])所以我在网上搜索了一下,发现webclient的默认连接限制是2。这些帖子中的答案告诉我在web.config中设置一个更高的最大连接值。所以我就这么做了。
web.config:
<system.net>
<connectionManagement>
<add address="*" maxconnection="1000"/>
</connectionManagement>
</system.net>但这似乎并不管用。我在IIS中重新启动了网站和应用程序池,但我仍然收到了> 1.5分钟的响应,而每个响应都在20秒内完成。
那么,有谁知道如何解决这些反应缓慢的问题吗?
发布于 2014-06-13 07:19:29
找到了问题所在。这不是was请求,而是Javascript对ajax的大量调用。浏览器不允许超过一定数量的连接,并将它们排入队列。所以我做了一个请求并处理了异步服务器端的事情。
https://stackoverflow.com/questions/24186885
复制相似问题