如何在2个托管服务器之间共享LoginUser
值之类的会话?
我在10.10.10.120(IIS 8)中托管了2个应用程序,在10.10.10.121(IIS 8)上托管了另一个。
我尝试使用Sql server或NCache服务器但没有工作。
我在2个应用程序和相同配置中使用了相同的机器密钥
注意: - 我准备使用负载平衡服务器
答案 0 :(得分:0)
我正在使用NCache,它可以在集中存储中存储会话。部署在两个不同Web服务器上的负载平衡应用程序应该能够使用相同的会话对象。我最初使用了安装了NCache的示例会话应用程序,然后按照以下步骤在应用程序端为我工作。
在两个或多个Web服务器上部署的同一应用程序之间的会话共享。
添加NCache会话状态提供程序程序集。
<assemblies>
<add assembly="Alachisoft.NCache.SessionStoreProvider, Version=4.8.0.0,
Culture=neutral, PublicKeyToken=CFF5926ED6A53769" />
</assemblies>
添加NCache会话状态
<sessionState cookieless="false" regenerateExpiredSessionId="true" mode="Custom" customProvider="NCacheSessionProvider" timeout="1">
<providers>
<add name="NCacheSessionProvider"
type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider" exceptionsEnabled="true" nableSessionLocking="true" emptySessionWhenLocked="false" sessionLockingRetry="-1" sessionAppId="NCacheTestApp" useInProc="false" enableLogs="false" cacheName="SessionsCache" writeExceptionsToEventLog="false" AsyncSession="false" />
</providers>
在负载均衡的Webfarm中跨Web服务器保留相同的计算机密钥。
<machineKey validationKey ="A01D6E0D1A5D2A22E0854CA612FE5C5EC4AECF24"
decryptionKey ="ACD8EBF87C4C8937" validation ="SHA1"/>
在所有负载均衡的Web服务器上部署相同的应用程序。
在两个或多个Web服务器上部署的两个不同应用程序之间的会话共享。
您也可以在两个不同的应用程序之间共享会话数据,如果这是您要在此处实现的目的。