【问题标题】:Azure and In Proc SessionAzure 和 In Proc 会话
【发布时间】:2011-08-23 03:16:34
【问题描述】:

我的网站 (ASP.Net 4.0 C#) 托管在具有多个实例的 Azure 服务器上。我的会话状态模式是“InProc”。不知何故,它不能在 Azure 实例上运行,它不能正确维护状态。请指教。

问候 维韦克

【问题讨论】:

    标签: session azure inproc


    【解决方案1】:

    Select a way for Session Management on Windows Azure

    AppFabric 缓存服务现已上线。

    干杯。

    【讨论】:

      【解决方案2】:

      补充 Stuart 的答案:AppFabric 缓存是缓存即服务,与任何虚拟机实例无关。该服务于几周前上线。 AppFabric 团队提供了一个使用缓存的会话状态提供程序,只需要简单的 web.config 复制粘贴。

      由于 Stuart 提到的原因,我不会依赖 SQL Azure 或表存储来为您的会话缓存。

      Windows Azure Platform Training Kit 中有一个很好的动手实验室,名为 使用缓存服务构建 Windows Azure 应用程序 - 我会经历这个,因为其中一个主题是使用AppFabric 缓存。

      我在this SO answer 中提供了更多信息。

      【讨论】:

        【解决方案3】:

        如果您有多个实例并且正在使用 InProc 会话,则 Session 数据将不起作用 - 因为它不会在实例之间共享。

        Azure 负载平衡您的 HTTP 请求,并可能将每个客户端 HTTP 请求发送到不同的服务器实例。

        如果要使用Session状态,那么需要使用共享的Session状态提供者,如:

        • SQL 会话状态提供程序(尽管我认为这对 SQL Azure 有一些限制,因为它不能使用 SQLAgent 代码定期清除状态)
        • 演示 Azure 表会话状态提供程序(不受官方支持,有时报告为错误)
        • 最新的 AppFabric 会话状态提供程序(目前由 MS 推荐) - 请参阅 http://appfabricdemos.codeplex.com/releases/view/65427

        【讨论】:

        • 我想补充一点,我已经为 Azure 制作了一个开源的 Session-State 提供程序,可以从这里下载azureproviders.codeplex.com
        猜你喜欢
        • 2016-07-08
        • 2017-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-27
        • 2021-12-16
        相关资源
        最近更新 更多