【问题标题】:Maintaining Session across different domains with Azure Redis Cache Session State Provider使用 Azure Redis 缓存会话状态提供程序跨不同域维护会话
【发布时间】:2016-04-19 14:00:21
【问题描述】:

如何使用 Azure Redis 缓存会话状态提供程序在不同的 Web 应用程序之间共享相同的会话状态?

我的两个应用程序的 Web.config 都是这样的:

<sessionState mode="Custom" customProvider="MySessionStateStore">
      <providers>
        <add name="MySessionStateStore"
            type="Microsoft.Web.Redis.RedisSessionStateProvider"
            port="6380"
            host="[myhostname].redis.cache.windows.net"
            accessKey="[mykey]"
            throwOnError="true"
            applicationName="[mySharedAppName]"
            ssl="true" />
      </providers>

【问题讨论】:

    标签: asp.net session azure redis


    【解决方案1】:

    您通常需要做两件事:

    1. 在两个应用的 web.config 中将 applicationName 属性设置为相同的字符串值。

    2. 如果应用程序位于不同的 IIS 站点或不同的服务器中,您可能需要更改 ASP.NET 在后台为您发送到浏览器的 ASP.NET_SessionId cookie 的 cookie scope。如果该会话 cookie 的范围不包含两个应用程序,您将遇到麻烦:Web 浏览器将使用不同的会话 cookie,并且您的会话不会被共享。但是如果你在同一个站点下只有两个应用目录,那么你不需要考虑这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-10
      • 2014-12-24
      • 2014-08-06
      • 1970-01-01
      • 2013-06-11
      • 2015-11-22
      • 2013-05-27
      • 2011-02-09
      相关资源
      最近更新 更多