Monday, February 12, 2007

Debug timeout with IIS 7.0 and App pools

I've been having problems debugging my web applications for the past month or so after I upgraded to vista.

Problem:
When my application was broken into the debugger, after ~90 seconds, the debugger would stop working and I would have to restart it.

Looking into the eventlog, I found the following notices:

A process serving application pool ''failed to respond to a ping. The process id was '5472'.

Source of the Problem:
IIS has a setting for application pools that allows it to monitor the health of the process. When the process doesnt respond to a ping request (as in debug mode), IIS kills the process and therefore kills the debug session.

Solution:
1. Open IIS
2. Open the Advanced Settings for the application pool you are running under.
3. Find the setting "Ping Enabled" under "Process Model"
4. Change this to False.
Note: you could alternatively increase the Ping Maximum Response Time to a higher value.