Avoid IISRESET in ASP.NET applications

Often developers or system admins think you should run an IISRESET after deploying ASP.NET applications, this is very rarely necessary now, and it's terrible to take all websites on a server offline.

It was often needed back in the ASP / COM days (you needed to free the reference to COM objects to allow overwriting the files), but ASP.NET code runs under the ASP.NET worker process and runs with side-by-side support, which completely obviates the IISRESET step. Copy the files and go!

If your changes include files which will restart the web application (such as DLL's or the web.config file), the site will automatically restart. You're done.

If, on the other hand, you've edited other files which don't cause a website restart (such as .config files referenced from web.config, etc.) you'll have to trigger the site to reload manually.

There are at least 4 ways to force an ASP.NET website to recycle:
- Change the web.config file timestamp will cause the site to reload.
- "Touch" the file to change the file timestamp.
- Kill ASPNET worker process manually. You just bring up the task manager, go to the Processes tab, find your ASP.NET worker process (aspnet_wp.exe for XP and W2K, w3wp.exe for W2K3 and Vista), right-click it and select "End Process". It will restart on the next request to an ASP.NET page.
- A new one: ASPRESET from http://weblogs.asp.net/jgalloway/default.aspx
Share on Google Plus

About Vittorio Pavesi

    Blogger Comment
    Facebook Comment

0 comments: