Azure Web应用程序会话和ARR

时间:2017-08-04 08:18:32

标签: azure azure-web-app-service arr

我有一个部署到Azure Web应用程序的MVC应用程序。需要在多个实例中扩展的Web应用程序。 我想使用Session对象(ASP.NET)来存储一些用户数据等(轻量级),这样就可以快速检索。我相信,会话将在In-Proc中进行ARR ON设置。

我有以下问题

  1. 在Azure网络应用中使用会话对象是否可以,它会给出 如果启用了ARR,则保证使用相同的In-Proc会话。

  2. 如果ARR关闭,我应该使用会话对象吗?

  3. 因为使用Session本身会使应用程序变慢,所以它是什么     在Azure webapp / MVC中存储小数据的其他替代方法(一旦经过身份验证的用户配置文件         相关数据)在申请中快速访问?

1 个答案:

答案 0 :(得分:3)

在云中使用 IN-PROC 会话是严格的否定。托管云的原因是拥有高可用性,这可以通过分布式环境来实现。

要回答您的问题, ARR-Affinity Cookie会将客户端请求与特定实例相关联。但是,如果Process restartsApp-Domain回收,则所有会话都将丢失。这是建议 Out-Proc 会话状态管理的主要原因之一。

我建议不要在任何云方案中使用In-Proc会话状态。我知道速度是你关注的问题。为此,请考虑使用 Redis缓存。请参阅此处的文档:https://docs.microsoft.com/en-us/azure/redis-cache/cache-aspnet-session-state-provider

HTH