【问题标题】:windows azure websites session statesWindows azure 网站会话状态
【发布时间】:2013-01-08 07:27:14
【问题描述】:

我想知道 Windows azure 网站如何跨多个实例管理其会话状态。互联网上有很多关于如何使用云服务在多个实例上共享会话状态的内容,但对于网站我找不到最终答案。

How does windows azure websites handle session?这个问题还没有一个客观的答案。接受的最佳答案有一个很好的建议,但您必须观看超过 1 小时的视频。

你知道怎么做吗?我可以只使用 InProc 会话状态,Windows azure 会在所有实例中自动管理它吗?

谢谢。

【问题讨论】:

    标签: azure session-state


    【解决方案1】:

    在 azure 中,您可以使用 Redis 缓存来处理会话。

    -->安装nuget包RedisSessionStateProvider -->在 web.config 中将 SessionState 模式设置为 Custom,将 customProvider 设置为 RedisSessionProvider。

    您可以从here找到更多信息

    【讨论】:

      【解决方案2】:

      看起来选项是:

      • Windows Azure 缓存服务[1]。这是 Microsoft 提供的新缓存服务。 128MB 缓存的定价为每月 12.50 美元起(这是预览定价,折扣 50%)。根据 [2],访问缓存的延迟约为 1ms。

      • SQL Azure Angshuman Nayak [3] 相对便宜,特别是如果您已经将 SQL Azure 用于其他用途。作为缺点,他提到了潜在的性能问题,因为您通常使用共享数据库。您还需要注意清理有经验的会话。

      • 表存储 Angshuman [3] 还提供了一些关于如何使用表存储来存储会话的说明。他还提到性能不如其他解决方案,但没有提供任何数字。表存储的好处是定价。由于它是现收现付的,因此没有固定的月费。

      基于此,Azure 缓存服务似乎是可行的方法,除非价格是一个问题。

      [1]http://www.windowsazure.com/en-us/pricing/details/cache/

      [2]http://weblogs.asp.net/scottgu/archive/2013/09/03/windows-azure-new-distributed-dedicated-high-performance-cache-service-more-cool-improvements.aspx

      [3]http://blogs.msdn.com/b/cie/archive/2013/05/17/session-state-management-in-windows-azure-web-roles.aspx

      【讨论】:

        【解决方案3】:

        InProc SessionState 是not supported on Azure websites。您将不得不使用外部会话状态提供程序。 article 显示外部选项,article 显示如何使用 SQL Azure 作为会话状态提供程序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-11-22
          • 1970-01-01
          • 2011-07-12
          • 2014-11-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多