Azure应用服务InProc会话状态是否在实例间复制及ARR Affinity相关问题
关于Azure应用服务禁用ARR Affinity的会话状态疑问解答
会话状态的存储位置在哪里?
取决于配置的会话状态模式:默认的InProc模式下,会话数据存在应用进程的本地内存中;如果配置了SQL Server、Redis等其他模式,数据会存储在对应的外部服务里。若会话状态采用InProc(虚拟机本地)存储方式,是否会在应用服务计划的其他实例间共享?
不会。InProc模式的会话数据是单个实例本地内存的私有数据,应用服务计划的其他实例完全无法访问这些数据。如果禁用ARR Affinity,Azure负载均衡器会随机分发请求到不同实例,用户之前存在会话里的数据会在切换实例后丢失。当前使用.NET 4.6.2 API,未发现任何SessionStateProvider相关引用,是否可默认会话状态为进程内存储?
是的。.NET Framework 4.6.2的默认会话状态模式就是InProc,只要你没在web.config里修改<sessionState>节点的mode属性,也没配置第三方会话状态Provider,那么会话数据就默认存在进程内存里。
内容的提问来源于stack exchange,提问作者David Klempfner
相关产品推荐
相关产品推荐

