2008-11-27 42 views
-1

我想知道在ASP.NET應用程序運行時修改web.config文件會產生什麼影響。在NLB羣集中修改應用程序的web.config文件

這是我的確切場景。我有兩臺主機在IIS6上運行相同的應用程序。兩臺主機都有完全相同的machine.config文件,這意味着它們共享相同的機器密鑰。

   | 
       | 
[HOST A]----[NLB]---[HOST B] 
    |     | 
    |     | 
    |     | 
    |     | 
[SQL server for ASP.NET sessions] 

該應用程序必須在每天的7:00至18:00之間可供用戶訪問。在19:00,主機A和B重新啓動,我們可以在兩臺主機上對應用程序進行一些更新。但有時我們希望能夠在應用程序的正常運行時間內進行更新。更新通常包括向web.config添加一些值,據我所知,這會導致應用程序重新啓動。

該應用程序在很大程度上依賴於會話,但是它們在SQL服務器中保留,只有緩存數據存儲在服務器內存中,並且如果丟失該數據並不重要。但是失去用戶會話絕對是不可接受的。我的問題是,如果服務器當前正在執行用戶請求,如果我們修改Web場中的一臺主機上的web.config文件,用戶將會遇到什麼問題?如果在應用程序重新啓動時出現新請求,會發生什麼情況?

回答

3

那麼,你已經給出了自己的答案。通常情況下,會話在重新啓動時會中斷,但是您使用SQL Server來保存它們,所以它們不會丟失。

但是,新訪問者在重新啓動時將收到一個錯誤頁面。但他們不會觸發新的會話開始,所以訪問者可以保持F5'ing直到應用程序運行。

+0

因此,似乎沒有辦法在應用程序正常運行期間執行更新,而不會影響用戶體驗。感謝您的回答。 – 2008-11-27 15:53:50