<p>I'm not new to web publishing, BUT I am new to publishing against a web site that is frequently used.  Previously, the apps on this server were not hit very often, but we're rolling out a high demand application.  So, what is the best practice for publishing to a live web server?</p>

<ol>
<li>Is it best to wait until the middle
of the night when people won't be on
it (Yes, I can pretty much rely on
that -- it's an intranet and
therefore will have times of
non-use)</li>
<li>Publish when new updates are made to
the trunk (dependent on build
success of course)</li>
<li>If 2 is true, then that seems bad if someone is using that specific page or DLL and it gets overwritten.</li>
</ol>

<p>...I'm sure there are lots of great places for this kind of thing, but I didn't use the right google search terms.</p>

[{'answer_id': 11770, 'author': 'lubos hasko', 'author_id': 275, 'author_profile': 'https://Stackoverflow.com/users/275', 'pm_score': 3, 'selected': True, 'text': '<blockquote>\n<p><strong>@Nick DeVore wrote:</strong></p>\n<p>If 2 is true, then that seems bad if\nsomeone is using that specific page or\nDLL and it gets overwritten.</p>\n</blockquote>\n<p>It\'s not really an issue if you\'re using ASP.NET stack (Webforms, MVC or rolling your own) because all your aspx files get compiled and therefore not touched by webserver. /bin/ folder is completely shadowed somewhere else, so libraries inside are not used by webserver either.</p>\n<p>IIS will wait until all requests are done (however there is some timeout though) and then will proceed with compilation (if needed) and restart of AppDomain. If only a few files have changed, there won\'t even be AppDomain restart. IIS will load new assemblies (or compiled aspx/asmx/ascx files) into existing AppDomain.</p>\n<blockquote>\n<p><strong>@Nick DeVore wrote:</strong></p>\n<p>Help me understand this a little bit\nmore. Point me to the place where this\nis explained from Microsoft. Thanks!</p>\n</blockquote>\n<p>Try google for &quot;IIS AppDomain&quot; keywords. I found <a href="http://www.odetocode.com/articles/305.aspx" rel="nofollow noreferrer">What ASP.NET Programmers Should Know About Application Domains</a>.</p>\n'}, {'answer_id': 11802, 'author': 'Kev', 'author_id': 419, 'author_profile': 'https://Stackoverflow.com/users/419', 'pm_score': 0, 'selected': False, 'text': '<p>We do most of our updates in the wee small hours.</p>\n\n<p>Handy hint, if this is an ASP.NET site, whatever time of the day you roll out, drop in an App_Offline.htm file with a message explaining to users that the site is down for maintenance. </p>\n\n<p>Scott Guthrie has more info here:</p>\n\n<p><a href="http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx" rel="nofollow noreferrer">http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx</a></p>\n'}]
['https://Stackoverflow.com/questions/11764', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1380/']