在Asp.Net中使用会话状态时使用InProc内存进行会话

时间:2014-04-11 18:49:29

标签: asp.net asp.net-mvc iis-7

我有一个MVC3应用程序,直到最近一直使用InProc进行会话管理。由于应用程序池被回收导致随机注销,我不得不切换到会话状态方法。

问题是我有一个不可序列化的复杂'运行时'会话变量。其中一个主要原因是我运行的javascript.net实例被控制器/模型广泛使用。

当会话身份验证由“会话状态”方法处理时,有没有办法保留像此类'InProc'这样的变量?如果我能做到这一点,那么如果应用程序池被回收,那么所有这些数据都会丢失(因此,实际上只是和以前一样)。

1 个答案:

答案 0 :(得分:0)

  会话认证由会话状态'会话状态处理。方法

我不确定会话身份验证的含义。您的意思是表单身份验证吗?

表单身份验证

如果您希望在回收应用程序池时存活 FormsAuthenticationTicket ,则需要在web.config中明确设置machineKeys

会话状态

基本上,会话状态很少modes

InProc 模式 - 会话状态存储在服务器内存中。结果,当回收应用程序池时,它们都将被删除。

如果要保持会话状态,则需要以 StateServer SQLServer 模式存储。