none
负载均衡(多实例)的Cloud Service Role保存ASP.Net Session信息 RRS feed

  • 问题

  • 如题。

    关于Cloud Service(云服务)上的Role(多实例)

    如何保存Asp.net Session的疑问,尽管我们可能会使用Azure提供的Redis Cache,

    但在这之前,技术上仍需要尽快确认如下两点:

    1. In-Role Azure Cache

    该服务可用于多实例的Role间共享Session信息吗?

    该服务目前Azure还支持吗?

    2. Asp.net StateServer

    通过设置Startup任务,在部署Role时,能够正确启动该系统服务吗?

    可知道该服务启动后能用于多实例的Role间共享Session信息吗?

    以上,谢谢!


    2017年3月2日 9:36

答案

  • Hi,

    >In-Role Azure Cache该服务可用于多实例的Role间共享Session信息吗?

     

    当然可以,当启用了In-Role CacheRole在多个实例上运行时,将形成缓存群集。缓存群集是一种分布式缓存服务,它使用群集中所有计算机的组合内存。每个缓存群集都会在Azure 存储中保留有关群集运行时状态的共享信息。

    具体如何配置请参考:如何在 In-Role Cache 中存储 ASP.NET Session

     

    >In-Role Azure Cache 该服务目前Azure还支持吗?

     

    该服务已于 201611 30 日 停用,详情请见公告 : Azure Managed Cache and In-Role Cache services to be retired on 11/30/2016.

     

    > Asp.net StateServer 通过设置Startup任务,在部署Role时,能够正确启动该系统服务吗?可知道该服务启动后能用于多实例的Role间共享Session信息吗?

     

    通过 Start up task 是可以启动StateServer的(事实上任何服务都可以通过 Start up task 启动)。

     

    但是在 Azure 中对于多实例角色 StateServer 并不适用,在Azure 中并没有同步 Session,负载均衡在多实例间循环路由时该 Session 并没有共享。

    参见文档:Session State Management in Windows Azure Web Roles

     

    目前,在 Azure 中共享 Session 还是推荐您使用 Redis Cache, 请参考:Azure Redis 缓存的 ASP.NET 会话状态提供程序


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    • 已标记为答案 Yijie Wang 2017年3月6日 1:28
    2017年3月3日 8:24
    版主