【发布时间】:2016-06-30 22:06:54
【问题描述】:
IIS 7.5、.Net 4.6
从浏览器网络诊断选项卡中,我可以看到请求是堆叠的,而不是同时执行的。 这可以通过静态内容请求(例如样式表、图像、javascript)看到,这些请求在完成之前等待动态请求完成。 我还设计了一个测试,其中使用 javascript 计时器定期请求静态内容。 (我们称之为“http-ping”。如果我有一个长时间运行的主请求,这些 http-ping 请求会备份。
使用 perfmon,我确定了以下计数器随着我的 http-ping 请求的增加而增加: 请求当前; 管道实例计数;
当这些计数器保持为零时: 本机队列中的请求; 排队的请求; 应用程序队列中的请求;
我还通过调试检查了应用程序状态。只有一个线程,对应于主请求,在应用程序代码中处于活动状态。其他线程将堆栈位置显示为“”。
【问题讨论】:
-
会话可能会导致这种情况。从 Fiddler 中删除 cookie 并执行请求来测试它。
-
如果我删除会话 cookie,我的主请求将失败。它需要一个会话。
-
然后用资源进行测试。你说资源也会受到影响。
标签: asp.net iis concurrency