Visual Studio asp.net发布:它是否会删除当前的在线用户

Joe*_*Joe 3 asp.net publishing visual-studio

使用VS2008sp1:尝试找到一种可靠的方式(或正确的方法)来更新正在运行的Web应用程序(ASP.NET 3.5sp1),而不会丢失当前的用户会话/上下文.

我知道用户可以在发布期间收到忙碌的消息,这是可以的.问题是:IIS重置会话吗?或丢失当前用户所处的任何上下文?这可以分阶段进行吗?或者我可以调整我的架构来帮助它.

我现在唯一的解决方案就是"在'小时后',但一旦它24x7 - 这是什么时候?;)

jvi*_*lta 6

每当您更新Web应用程序时,应用程序域都将终止并启动一个新应用程序域,因此除非您将用户状态存储在其他位置,否则您的用户将失去其会话状态.

您可以通过以下几种方法解决此问题:

  1. 将用户会话存储在进程外(可以是数据库).只要此状态在某处持续存在,您就可以在应用程序恢复时从Web应用程序本身恢复用户的状态.

  2. 不要将状态/会话值存储在cookie或查询字符串以外的任何位置.这样,重新启动应用程序时不会丢失任何状态.