我正在使用 IISPeek,发现一个请求挂在一个有问题的页面上。我已修复该错误,以便其他打开该页面的人不会遇到此问题,但近一小时后该页面仍然处于活动状态。
我不想停止整个应用程序,因为目前正在运行一些重要的进程。
通过 IISPeek,我获得了请求编号 (9f0002008001238e) 和客户端 IP。可以使用其中任何一个来停止正在进行的请求吗?
答案1
您可以使用进程探索器执行此操作。进入Properties
有问题的 w3wp.exe 进程,选择选项Threads
卡,然后选择长时间运行的线程并使用按钮Kill
终止该线程。还请注意,您还可以使用该Stack
按钮获取线程的堆栈跟踪,希望能够帮助确定代码中挂起的位置。
答案2
您无法停止挂起的单个请求。您需要回收应用程序池才能做到这一点。
或者,使用调试器中断并终止请求线程。如果线程挂起,则无法自动终止。
请记住,当调试器中断时,整个过程都会暂停。如果您在退出之前没有 .detach,则该过程将退出,其功能类似于回收。
额外步骤:希望当你这样做时不会发生任何事情。
答案3
一些解决方案:终止服务器的网络连接,无需重新启动 IIS。