【问题标题】:ASP.NET session state provider in Azure [closed]Azure 中的 ASP.NET 会话状态提供程序 [关闭]
【发布时间】:2011-06-23 16:18:02
【问题描述】:

据我所知,目前的情况是这样的:

  1. 可以使用 SQL 会话状态提供程序(正如我在某处读到的那样),但 Microsoft 不支持它。所以它可能在未来停止工作。它还需要一个 WorkerRole 来删除过时的数据。
  2. Azure AppFabric 缓存服务仍在 CTP 中。
  3. TableStorageSessionProvider 是 Azure 培训工具包中的一段代码,不建议用于生产代码。

你会选择什么?

【问题讨论】:

    标签: asp.net session azure asp.net-session azure-web-roles


    【解决方案1】:

    如果您要在本周上线,我会推荐 SQL Azure 会话状态提供程序。有一篇很棒的博文 here 提供了你需要的一切。

    您说得对,Azure 并未正式支持此解决方案。但是,它现在应该可以正常工作,并且一旦上线,您就可以非常轻松地切换到 Azure AppFabric 缓存(如 Igor 所建议的那样)。

    **EDIT 6/16/2014 ** 请参阅 MVC movie app with Azure Redis Cache in 15 minutes 的 Azure Redis 缓存(预览版)ASP.NET 会话状态提供程序部分

    编辑 2012 年 5 月 23 日 自此答案以来发生了很多变化。自 2011 年 8 月起,通过 Universal Providers 正式支持 SQL Azure 中的缓存。在this 博客文章中查看更多信息。 100MB 数据库的起价为 4.99 美元。

    AppFabric Cache 于 2011 年 5 月上线。缓存起价为 128MB,价格为 45 美元。 AppFabric 缓存的详细信息为here。请注意,事务数、连接数和带宽(以及存储容量)都有每小时配额。

    编辑 6/7/2012 另一个更新:在 2012 年春季版本中,现在可以使用现有 Web 或 Worker 角色中的一定百分比的 RAM 创建缓存(无需任何成本) ,以及一个新的缓存角色,用于在您的部署中创建专用的高速缓存(用于实例成本)。 Scott Guthrie 在博客上写了 here。这些功能在新的 v1.7 SDK 中可用。

    【讨论】:

    • 我同意。从 SQL 切换到 AppFabric/Azure 只是 web.config 更改。选择现在可行的,以后再升级。
    • 嗯...但是它需要一个 WorkerRole 来清理过时的数据,这意味着要为一个额外的小实例 24x7 付费:(这将是一个问题,因为解决方案只包含一个 WebRole。我没有不要算在内,我认为客户不会对此感到满意,哈哈
    • 您不需要单独的辅助角色。只需将其结合到您现有的网络角色中即可。添加 Run() 方法,一切顺利。
    • 好主意。但是当调用 webrole 中的 run 方法时?
    • Run() 在 OnStart() 完成后立即调用,因此角色实例现在位于负载均衡器组合中。所以你可以运行定时线程、队列监听器等等。您甚至可以侦听 tcp 端口(这是 Azure 1.3 for Web Roles 的新功能)。就像工人角色一样。
    【解决方案2】:

    恕我直言:Azure AppFabric 缓存服务。这是他们的战略目标,他们很可能会在您完成开发之前完成。

    【讨论】:

    • 我可以在这周完成开发,这就是问题所在:P 可能它会在周五投入生产。
    • 只是一个主观说明:我们花了两个多星期在 AppFabric 缓存中设置和测试故障转移。原因是我们这边的故障(尝试没有 AD,尝试在 AD、防火墙等中使用非管理员)和 AppFabric 给出了一些奇怪的错误/行为(需要指向网络共享(在一台服务器上?),如果共享已关闭,AppFabric 缓存将无法启动等)并且在 Internet 上缺乏类似的体验(新版本)。感觉更像是 0.9 版。一旦运行它似乎工作正常。
    • 听起来这是您正在测试的 AppFabric 缓存的本地版本?
    【解决方案3】:

    正如我在上面的评论中提到的,AppFabric 缓存现已投入生产。包括定价和 SLA 在内的详细信息为 here。生产版本的亮点:

    • 适用于所有数据中心
    • 能够使用从 128MB 到 4GB 的缓存
    • 事务 SLA(每秒缓存事务数)

    通过门户,一旦您创建了缓存命名空间,您只需单击生成 web.config/app.config sn-ps 的按钮,然后复制“n”粘贴。就这么简单。

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 2013-05-27
      • 1970-01-01
      • 2013-07-21
      • 2014-08-06
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      相关资源
      最近更新 更多