I have been working on a project in Silverlight that was, until recently, debugging under the Visual Studio .NET development server. Recently we converted this application to be hosted by IIS 7 on our development environments. Ever since then, I’ve been getting timeout errors whenever I debug the application and halt execution using breakpoints for more than a couple of minutes. The error dialog that appears says “The web server process that was being debugged has been terminated by Internet Information Services (IIS).”
To solve this problem, I followed the advice given in the second half of the error dialog and configured the “Application Pool ping settings in IIS.”
Here are the step-by-step instructions:
- Open the IIS Manager (In Windows 7, simply open the start menu, type “inetmgr” and hit enter)
- In the left pane, expand the connection to your local computer and select the Application Pools node that appears below it.
In the center pane, right-click on the application pool you’re using to run your Silverlight application and select “Advanced Settings…
If you don’t know which application pool is the one your application uses, expand the Sites
node in the left pane, select your application or site, and click Basic Settings…
in the far right pane. The pool running the selected application is listed in the dialog that appears.
In the Process Model
section, change Ping Enabled
Click OK to apply your changes.
IMPORTANT NOTE: This configuration should only be used for development environments, never for production. Disabling this setting in production could lead to unresponsive applications not being automatically reset by IIS.