2008-11-27 24 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