我们在页面上使用了6个iFrame。它们从一些外部Web服务和内部WCF服务中获取数据并显示数据。为每个iFrame构建了一个单独的aspx页面。从我们的perf监视中我们发现,在任何时候只有两个线程并行执行。并非所有6个线程都被执行。这可能是什么原因造成的?是否存在不能并行创建2个以上线程的限制?有没有可以更改此配置的配置?
答案 0 :(得分:3)
IE6
和IE7
都是如此。与DNS无关。为了模拟这一点,在IE中同时运行三个或更多下载,你会发现一次只执行两个,其余的将等待。与Firefox不同的情况,我相信这是值得检查的。
答案 1 :(得分:0)
大多数Web浏览器都会对同时用于呈现元素的线程数量设置限制。我相信很多网络浏览器的默认值是2。所以你看到的是正确的,浏览器本身一次只能请求2个对象。
答案 2 :(得分:0)
大多数浏览器一次只能从每个域发出两个请求。
如果请求不是无会话,则服务器只处理每个用户一次请求,同一用户的其他请求排队。
答案 3 :(得分:0)
IIS对其将执行的并发线程数有一个上限,其余的将排队,直到前两个完成。使用回调时我遇到的一种现象。
答案 4 :(得分:0)
如果你让你的iframe指向不同的DNS,那么浏览器应该将它们全部并行化。
见这里:http://www.websiteoptimization.com/speed/tweak/parallel/
答案 5 :(得分:0)
我也有这个问题。您可能正在使用ASP.NET中的会话锁。
简而言之,将@ Page指令中的EnableSessionState设置为ReadOnly。
我从这个答案中找到了值得信赖的答案: - IIS Express 7.5 not processing requests concurrently