我想知道 Windows azure 网站如何跨多个实例管理它的会话状态。互联网上有很多关于如何使用云服务在多个实例上共享会话状态的内容,但对于网站我找不到最终答案。
问题windows azure 网站如何处理会话?还没有一个客观的答案。接受的最佳答案有一个很好的建议,但您必须观看超过 1 小时的视频。
你知道怎么做吗?我可以只使用 InProc 会话状态,Windows azure 会在所有实例中自动管理它吗?
谢谢你。
我想知道 Windows azure 网站如何跨多个实例管理它的会话状态。互联网上有很多关于如何使用云服务在多个实例上共享会话状态的内容,但对于网站我找不到最终答案。
问题windows azure 网站如何处理会话?还没有一个客观的答案。接受的最佳答案有一个很好的建议,但您必须观看超过 1 小时的视频。
你知道怎么做吗?我可以只使用 InProc 会话状态,Windows azure 会在所有实例中自动管理它吗?
谢谢你。
看起来选项是:
Windows Azure 缓存服务[1]。这是 Microsoft 提供的新缓存服务。128MB 缓存的定价为每月 12.50 美元起(这是预览定价,折扣 50%)。根据 [2],访问缓存的延迟约为 1ms。
SQL Azure Accordign to Angshuman Nayak [3] 相对便宜,特别是如果您已经将 SQL Azure 用于其他用途。作为缺点,他提到了潜在的性能问题,因为您通常使用共享数据库。您还需要注意清理有经验的会话。
基于此,Azure 缓存服务似乎是可行的方法,除非价格是一个问题。
[1] http://www.windowsazure.com/en-us/pricing/details/cache/
Azure 网站不支持InProc SessionState 。您将不得不使用外部会话状态提供程序。本文展示了外部选项,本文展示了如何将 SQL Azure 用作会话状态提供程序。
在 azure 中,您可以使用 Redis 缓存来处理会话。
--> 安装 nuget 包 RedisSessionStateProvider --> 在 web.config 中将 SessionState 模式设置为 Custom,将 customProvider 设置为 RedisSessionProvider。
您可以从这里找到更多信息