我有一个MVC3应用程序,直到最近才开始使用InProc进行会话管理。由于应用程序池被回收导致的随机注销,我不得不切换到会话状态方法。
问题是,我有一个复杂的“运行时”会话变量,它是不可序列化的。主要原因之一是,我有一个javascript.net实例正在运行,控制器/模型广泛使用该实例。
在会话身份验证由“会话状态”方法处理时,是否有任何方法来保持这样的“InProc”变量?如果我能做到这一点,那么如果应用程序池被回收,那么所有的数据就会丢失吗(因此,与以前的问题完全相同)。
发布于 2014-04-11 22:16:58
会话身份验证由“会话状态”方法处理?
我不知道会话身份验证是什么意思。您的意思是表单身份验证吗?
表单认证
如果要在回收应用程序池时生存FormsAuthenticationTicket,则需要显式地在web.config中设置machineKeys。
会议状态
基本上,Session-State几乎没有模式.
InProc模式-会话状态存储在服务器内存中.因此,当应用程序池被回收时,它们都将被删除。
如果要持久化会话状态,则需要存储在StateServer或SQLServer模式中。
https://stackoverflow.com/questions/23020411
复制相似问题