2个托管服务器之间的共享会话

问题描述 投票:1回答:1

如何在2个托管服务器之间共享像LoginUser值这样的会话?

我在10.10.10.120(IIS 8)中托管了2个应用程序,在10.10.10.121(IIS 8)上托管了另一个。

我尝试使用Sql server或NCache服务器,但没有工作。

我在2个应用程序和相同配置中使用了相同的机器密钥

注意: - 我准备使用负载平衡服务器

asp.net asp.net-mvc session iis ncache
1个回答
0
投票

我正在使用NCache,它可以在集中存储中存储会话。部署在两个不同Web服务器上的负载平衡应用程序应该能够使用相同的会话对象。我最初使用了安装了NCache的示例会话应用程序,然后按照以下步骤在应用程序端为我工作。

在两个或多个Web服务器上部署的同一应用程序之间的会话共

  1. 添加NCache会话状态提供程序程序集。 <assemblies> <add assembly="Alachisoft.NCache.SessionStoreProvider, Version=4.8.0.0, Culture=neutral, PublicKeyToken=CFF5926ED6A53769" /> </assemblies>
  2. 添加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>
  3. 在负载平衡的Web场中跨Web服务器保留相同的计算机密钥。 qazxsw poi
  4. 在所有负载均衡的Web服务器上部署相同的应用程序。

两个或多个Web服务器上部署的两个不同应用程序之间的会话共享

您也可以在两个不同的应用程序之间共享会话数据,如果这是您在此处尝试实现的目标数据。

  1. 保持上述所有步骤相同,但确保两个应用程序在SessionState标记下具有相同的sessionAppId =“NCacheTestApp”值。
© www.soinside.com 2019 - 2024. All rights reserved.