您好,非常感谢您的任何建议。
我有一个托管在 Windows2012 Server IIS8 上的 C#.NET 4.0 MVC 应用程序(尽管可以在 W2008R2 和 IIS7.5 上复制相同的问题)。
每个新会话大约需要 10 秒才能加载。这与“空闲超时”无关。我的空闲超时设置为 120 分钟。我打开 Chrome 和 IE,在一个浏览器中进入注销页面,需要 10 秒。加载页面后(我假设应用程序已编译等),我使用 IE 转到同一页面 - 这需要 10 秒。如果我刷新页面 - 我会在大约 1 秒内将其恢复,就像任何后续页面一样。如果我关闭浏览器并立即重新启动它 - 再次点击第一页将需要 10 秒。我一直在本地主机上尝试它,以消除与网络相关的延迟。
我确实尝试使用“监控”IIS
C:\Windows\System32\inetsrv>appcmd list requests
REQUEST "fb0000048000c8d0" (url:GET /logout, time:9828 msec, client:fe80::4e6:dd83:6fd2:c1f8%12, stage:AcquireRequestState, module:Detector)
我可以看到工作进程执行时间最长。我正在使用“注销”页面,因为它不安全。Web.config 此处为
<location path="logout">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
最后在我的控制器中,我引入了调试打印并将它们复制到 cshtml 页面上:
2013-04-30 13:09:48,784 [56] ERROR [(null)] <(null)> - Start Controller
2013-04-30 13:09:48,842 [56] ERROR [(null)] <(null)> - Return view in Controller
视图上的输出:30/04/2013 13:09:50
这让我相信控制器的执行和视图的渲染并不是导致延迟的原因。
任何想法或意见都非常欢迎和最赞赏。如果有任何信息丢失,我们深表歉意。