Azure web app session and ARR



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

我有以下问题

  1. 是否可以在Azure Web应用程序中使用会话对象,它会给出吗 保证在 ARR 打开时使用相同的进程内会话。

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

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

在云中使用IN-PROC会话是严格禁止的。托管到云的原因是具有高可用性,这是通过拥有分布式环境来完成的。

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

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

呵呵

最新更新