I have an IIS server with a single app pool, and a site that contains three applications. All three applications are run in a single IIS worker.

Sometimes, while debugging one of the applications, the debugger intermittently enters a state where it's evaluating 'something' forever. This can happen any time while execution is paused, even if I'm not actively debugging.

When this happens, the entire ASP.NET application that I was debugging becomes unusable. If I make a request to the 'dead' application, I can see ASP.NET loading the binaries needed to serve the request, but it doesn't enter any of my code and doesn't respond to my request, nor does it ever close the connection used to make the request.

However, the other two applications in this worker continue to run and server requests as expected.

As far as I can tell, there is no way to recover the application, short of restarting my machine. Restarting IIS, recycling the app pool, and killing the worker all have no effect.

Why does this happen? How can I recover the ASP.NET application, without restarting my machine?

Note that I'm exclusively using the term 'application' to refer to an IIS application.

  • Why would "execution be paused" when not "actively debugging". What does actively debugging in this context mean? – Marcel Apr 24 '15 at 21:09
  • @Marcel: 'Actively debugging' means I'm stepping through code or inspecting something. I mean that this sometimes happens when the debugger is attached and execution is paused, but the debugger doesn't have focus and I'm not interacting with it. – dauphic Apr 24 '15 at 21:41

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.