我有问题, 在web.config中我已经说明了
<sessionState timeout="120" mode="InProc"></sessionState>
在我的localhost中没问题。
但是当我在Azure中发布时,我的会话在120分钟之前消失了。
任何人都可以提供帮助吗?
答案 0 :(得分:1)
据我所知,In-Proc会话模式将会话状态存储在单个Web服务器的内存中。此外,如果Web服务器实例因故障而关闭会导致会话数据丢失。
由于您可以将Web应用程序扩展到多个实例,因此使用In-Proc会话模式不是您在Azure上托管Web应用程序的良好做法,Azure无法在Web应用程序的多个实例之间共享会话状态。
简单来说,您可以Configure SQL Server to Store ASP.NET Session State或Session state with Azure Redis cache。另外,如article中所述,如果必须使用会话状态,最佳解决方案是使用缓存提供程序,例如Session State Provider for Azure Cache。