环境
最近,当我通过 IIS8 在 Windows 8 开发计算机上本地运行 ASP.Net 网站时,我的开发环境中出现了奇怪的行为。我在两个不同的网站上观察到了这种行为(一个是旧的、臃肿的 ASP.Net 网站,有数千行代码和许多不良做法;另一个是新的、轻量级的 ASP.Net MVC,总共不到 600 行代码,希望没有那么多不良做法)。
两个站点都是通过 IIS8 本地运行的(即不是通过 Visual Studio 的本地 Web 服务器,也不是通过 IIS Express)。无论 VS 是否打开,无论是调试还是仅仅使用站点,都会出现问题。
症状
在处理少量请求(可能 5 个或更少)后,如果应用程序池未刷新,则任何未来的请求都将无限期挂起(直到从浏览器/客户端停止 - 即我从未收到响应并且浏览器继续等待)。一旦发生这种情况,获取响应的唯一方法是通过命令强制停止 IIS iisreset -stop
。此外,它与客户端无关 - 我在 Chrome、Firefox、IE、Opera 和 Fiddler 上都遇到过此问题。
我不太清楚如何解决此问题 - 我查看了事件查看器,没有发现任何记录,查看进程时也没有发现任何明显错误(CPU 和 RAM 使用率完全正常)。这似乎不是网站代码库中的问题。
几天前,第二个站点才开始出现该问题 - 尽管我不记得做过任何可能导致该问题发生的更改。
问题
我想对这个问题的答案抱有点希望,但是:有什么明显的迹象表明这些症状吗?如果是的话,可以做些什么来解决它?
如果失败了,什么诊断工具可能帮助我找出原因?我对 IIS 的内部工作原理不是特别了解,也不知道该去哪里查找(不过,我确实尝试过使用我的 Google 技能,我保证!)。
在此先感谢所有花时间提供帮助的人!我很乐意根据要求提供进一步的详细信息。