首页 > 解决方案 > ASP.NET 会话限制最佳实践

问题描述

我们在具有 3 个实例的 Azure 应用服务中运行 PaaS ASP.NET 应用程序,并在 SQL Server 数据库中管理会话数据输出过程。

该应用程序是实时的,我们注意到一些用户在遵循某些路径时有大量会话数据,例如,一些用户的会话数据超过 500k(对于没有登录的简单站点访问,平均会话在 750 - 3000 标记左右这是我所期望的)。

500k 听起来太高了,但想知道这些天在大型企业应用程序中什么是正常的,以及在会话中保存这么多数据的缺点。

我最初的想法是,

我的推理有道理还是我错过了什么?

任何想法和建议将不胜感激,

非常感谢。

标签: asp.netazuresession-statepaassession-management

解决方案


我完全同意您在 Azure 应用程序实例中使用进程外会话管理的理由。在云中使用进程内会话是严格禁止的。托管到云的原因是通过分布式环境实现高可用性。

从您的角度理解,我认为速度对您来说是一个问题,或者如果对大多数 Web 应用程序很重要,为了克服这个问题,您可能会考虑使用 Azure redis 缓存。

这是使用 Azure redis 缓存配置会话管理的文章:

请参阅此处的文档:https ://docs.microsoft.com/en-us/azure/redis-cache/cache-aspnet-session-state-provider


推荐阅读