Release new version of ASP.NET website - Best Practices

asp.net, c#, publishing

Solution

I'm assuming you don't have a load-balanced environment, with multiple web servers?

In which case the best thing you could do is probably:

Look at your logs, and work out when you have the least traffic.

Assuming you have a site-wide master page, modify the .master to have a message warning people that site maintenance will be taking place during a certain period. If you're not using a master page, add the message on your home page, and other high traffic pages.

Drop an app_offline.html file into the root of your site at the designated time.

Deploy your changes.

Remove the app_offline.html file from the root.

Request your homepage, and hope it worked.

Problem

What is the best practice for releasing a new version of my asp.net application? I am concerned about users currently using the application. If I push a new version, does it kick them out? How does IIS handle open sessions? I am looking for a simple way of pushing new releases without affecting users.

Original source