我们不得不提出一个解决scheme来做日常的内部网应用发布,同时保持100%的正常运行时间。 这是因为我们在白天build立了高优先级错误修复,必须在同一天出去。
我build议给我一个选项是在同一台服务器上使用两个站点的networking负载平衡,这对我们的需求来说确实是一个很好的解决scheme(我们无法承受使用相同硬件的另一台服务器,我们的设置为5k +)。
所以我看了这篇文章 ,其中指出以下内容:
要在Web场中的不同Web服务器之间维护会话状态,IIS元数据库中网站的应用程序path(例如\ LM \ W3SVC \ 2)应该在Web场中的所有Web服务器中相同。
这是一个问题,因为如果同一个网站在同一台服务器上是NLB,则应用程序path必须不同。 我们需要在两个站点(而不是Web服务器)之间保持会话状态,否则我们会被来自愤怒用户的呼叫充斥。
那么我们可以在一个使用NLB的服务器上build立两个站点,并且可以维护所有的状态吗? 这些网站是相同的方式,只是一个将更多的错误修正最近的build设。
编辑 (已解决)
所以下面我有一个寻找find这篇文章 。 它描述了在web.config中使用sessionState
中的SQLServer
选项的问题。 它工作得很好,除了一件事。 会话数据不再被存储,这为我们打破了所有的安全性。 在我的Global.asax文件的Session_Start
,我有一些数据库调用代码,用于设置整个Intranet站点中使用的会话数据,以便快速访问用户详细信息。
<sessionState mode="SQLServer" sqlConnectionString="Data Source=localhost;Integrated Security=True" />
是因为DB访问问题还是因为sessionState
?
编辑编辑
好吧,我想我没有重新启动Web服务后玩弄了authentication,导致它打破。 因此,我需要知道如何做的最后一件事是在网站之间切换,同时指向同一位置。 所以说我们有一个指向“CompanyIntranet1”的http:// mycompanyintranet /的URL,我们在IIS中也有一个“CompanyIntranet2”的站点,我们如何让http:// mycompanyintranet /指向“CompanyIntranet2”?