Azure Web 应用程序 session 和 ARR

标签 azure azure-web-app-service arr

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

我有以下问题

  1. 可以在 Azure Web 应用程序中使用 session 对象吗? 如果 ARR 打开,保证使用相同的进程内 session 。

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

  3. 由于使用 Session 本身会使应用程序变慢,所以有哪些 在 Azure webapp/MVC 中存储小数据的其他替代方案(经过身份验证的用户配置文件 相关数据)以便在应用程序中快速访问?

最佳答案

在云中使用IN-PROC session 是严格禁止的。托管到云的原因是为了拥有高可用性,这是通过分布式环境来实现的。

为了回答您的问题,ARR-Affinity cookie 会将客户端请求关联到特定实例。但是,如果进程重新启动App-Domain回收,则所有 session 都将丢失。这是建议Out-Proc session 状态管理的主要原因之一。

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

HTH

关于Azure Web 应用程序 session 和 ARR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45501652/

相关文章:

azure - 将 Azure FunctionApp 容器作为 linuxFxVersion 部署到应用服务

javascript - 从 Windows Azure 移动服务中的读取请求获取 ID

docker-compose - docker-compose 部署上的 Azure 应用服务不明确的网络名称错误

Azure 网站 GitDeploy 网站项目

azure - 在已安装文件存储的 Azure 应用程序服务中,Firefox 中的文件下载失败

python - 如何在Python中拆分只有一个整数值的列表?

wordpress - 我身处 Azure、CORS 和 WOFF hell

iis - 将工件发布到 IIS 上的远程 TeamCity 服务器时出现问题

c# - 如何使用托管 IIS 模块正确设置 HTTP header

azure - 如何将自定义 DNS 名称分配给 Windows Azure Web 角色?