2009-12-11 29 views
3

使用VS2008sp1:試圖找到一種可靠的方式(或正確的方式)更新正在運行的Web應用程序(ASP.NET 3.5sp1),而不會丟失當前的用戶會話/上下文。Visual studio asp.net發佈:它會丟棄當前在線用戶

我知道用戶可以在發佈期間收到一條繁忙的消息,這沒關係。問題是:IIS重置會話嗎?或失去當前用戶所處的任何環境?這可以分階段進行嗎?或者我可以調整我的架構來幫助實現。

我現在唯一的解決方案就是在'小時後',但是一旦它的24x7 - 這是什麼時候? ;)

回答

6

無論何時更新Web應用程序,應用程序域都會終止並啓動一個新域,因此除非您在別處存儲用戶狀態,否則您的用戶將失去其會話狀態。

幾種方法可以解決這個問題是:

  1. 存儲用戶會話進程外 的(可能是一個數據庫)。只要 這個狀態持續存在, 您可以在應用程序恢復時從Web應用程序本身恢復用戶的狀態 。

  2. 不要將狀態/會話值 存儲在cookie或查詢字符串以外的任何地方。這樣,當應用程序重新啓動時,沒有狀態丟失 。

相關問題