From: SH on
I have an ASP.NET site. Whenever I update the site (build->publish->upload)
it kicks everyone out and they need to log in again. What is the best way to
combat this?

Regards
From: Mark Rae [MVP] on
"SH" <SH(a)discussions.microsoft.com> wrote in message
news:C78BDB0A-60F1-4EDA-92D5-E69E14EF4F7A(a)microsoft.com...

> I have an ASP.NET site. Whenever I update the site
> (build->publish->upload)
> it kicks everyone out and they need to log in again.

That's correct. Whenever web.config or the app's DLL etc are changed i.e.
updated or overwritten, the appdomain will recyle causing all current
sessions to be torn down. This is by design.

> What is the best way to combat this?

I don't believe there is any way short of creating a cluster of webservers
and updating each one individually, which is what large organisations do
when they need to maintain absolute 24/7 availability.

In my experience, people who maintain sites where unbroken availability is
not such an issue tend to schedule updates out of hours or, at the very
least, at times of very low activity e.g. through the night. The vast
majority of my customers are happy enough with this because it's simply not
worth the money to maintain a web farm...

I usually use App_Offline.htm
(http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx) to inform
anyone using the site that it's down for maintenance while I'm updating it.
This at least prevents people from receiving unfriendly IIS messages about
the site being unavailable etc.


--
Mark Rae
ASP.NET MVP
http://www.markrae.net

From: SH on
Thanks,

I knew about the recycling by design and I figured a cluster would be the
way forwards. I'll look into some clustering solutions as I require 24/7
uptime.. something I should have anyway regardless of the deployment issue!

- Stu

"Mark Rae [MVP]" wrote:

> "SH" <SH(a)discussions.microsoft.com> wrote in message
> news:C78BDB0A-60F1-4EDA-92D5-E69E14EF4F7A(a)microsoft.com...
>
> > I have an ASP.NET site. Whenever I update the site
> > (build->publish->upload)
> > it kicks everyone out and they need to log in again.
>
> That's correct. Whenever web.config or the app's DLL etc are changed i.e.
> updated or overwritten, the appdomain will recyle causing all current
> sessions to be torn down. This is by design.
>
> > What is the best way to combat this?
>
> I don't believe there is any way short of creating a cluster of webservers
> and updating each one individually, which is what large organisations do
> when they need to maintain absolute 24/7 availability.
>
> In my experience, people who maintain sites where unbroken availability is
> not such an issue tend to schedule updates out of hours or, at the very
> least, at times of very low activity e.g. through the night. The vast
> majority of my customers are happy enough with this because it's simply not
> worth the money to maintain a web farm...
>
> I usually use App_Offline.htm
> (http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx) to inform
> anyone using the site that it's down for maintenance while I'm updating it.
> This at least prevents people from receiving unfriendly IIS messages about
> the site being unavailable etc.
>
>
> --
> Mark Rae
> ASP.NET MVP
> http://www.markrae.net
>
>
From: bruce barker on
This means you are using inproc sessions, or allowing the mac key to be
regenerated at a recycle. see setting up asp.net for web farm for
instructions on the mac key. a high avaliable site should not use inproc
sessions (unless the session is a cache only and the app can handle
session lost), switch to sqlserver sessions.

-- bruce (sqlwork.com)



SH wrote:
> I have an ASP.NET site. Whenever I update the site (build->publish->upload)
> it kicks everyone out and they need to log in again. What is the best way to
> combat this?
>
> Regards