如何终止 IIS 中的单个请求?

如何终止 IIS 中的单个请求?

我正在使用 IISPeek,发现一个请求挂在一个有问题的页面上。我已修复该错误,以便其他打开该页面的人不会遇到此问题,但近一小时后该页面仍然处于活动状态。

我不想停止整个应用程序,因为目前正在运行一些重要的进程。

通过 IISPeek,我获得了请求编号 (9f0002008001238e) 和客户端 IP。可以使用其中任何一个来停止正在进行的请求吗?

答案1

您可以使用进程探索器执行此操作。进入Properties有问题的 w3wp.exe 进程,选择选项Threads卡,然后选择长时间运行的线程并使用按钮Kill终止该线程。还请注意,您还可以使用该Stack按钮获取线程的堆栈跟踪,希望能够帮助确定代码中挂起的位置。

答案2

您无法停止挂起的单个请求。您需要回收应用程序池才能做到这一点。

或者,使用调试器中断并终止请求线程。如果线程挂起,则无法自动终止。

请记住,当调试器中断时,整个过程都会暂停。如果您在退出之前没有 .detach,则该过程将退出,其功能类似于回收。

额外步骤:希望当你这样做时不会发生任何事情。

答案3

一些解决方案:终止服务器的网络连接,无需重新启动 IIS。

相关内容