会话在MVC应用程序

时间:2015-08-08 12:08:54

标签: asp.net-mvc session

我正在开发MVC5应用程序。 我使用会话来存储用户数据。

以下是我用来存储会话数据的代码

if (Session["UserData"] == null)
{
   Session["UserData"] = _objLoginSession;
}

我还在web.config中增加了Session Timeout,如下所示

<sessionState mode="InProc" timeout="60">
</sessionState>

我的验证模式也是无

<authentication mode="None" />

但是当我运行我的应用程序时,它只会在1到2分钟后到期。

有人可以指导我吗?

1 个答案:

答案 0 :(得分:2)

想到ASP.NET会话 expire 的一个原因是:会话数据保存在内存中,因为您指定了InProc模式,因此如果您在Visual Studio中重新编译应用程序或某些重启您的应用程序的原因,您将丢失会话数据。并且有很多原因可以解释为什么您的应用程序可能会被W​​eb服务器重新启动。更改web.config或bin文件夹或计算机中的某些文件等内容开始在内存不足的情况下运行。

所有这些原因都表明你绝对不应该(开发时除外)将会话数据保存在内存中(InProc)。