asp.net MVC 3中的会话过期错误

时间:2011-11-02 18:45:39

标签: asp.net-mvc asp.net-mvc-3

我正在研究asp.net MVC 3应用程序。我正面临与会话到期相关的问题。当我登录并且网站处于非活动状态10-15分钟时,我尝试单击任何链接,它表示对象引用null错误。我希望当会话过期时,在点击任何链接时,我应该被重定向到登录页面,其中包含会话过期的错误消息,或弹出相同的消息。如何在asp.net MVC 3中实现它。

此致 Asif Hameed

2 个答案:

答案 0 :(得分:2)

我猜你的代码从会话状态中获取某些东西,然后使用它而不检查它是否为空。

我建议查看该代码,并添加null检查。如果为null,则根据需要重定向到登录页面。

答案 1 :(得分:1)

通常在.net网络应用中看到两次超时。

第一个是会话超时。它在sessionState标记中设置。

<sessionState timeout="number of minutes" ...></sessionState>

第二个是表单cookie超时。它在身份验证标记中设置。

<authentication mode="Forms">
      <forms timeout="number of minutes"/>
</authentication>

在您的表单Cookie超时之前,您的会话似乎已超时。

最好让您的会话比表单身份验证cookie持续几分钟,这样用户可以在几分钟内重新登录并仍然可以进行会话。我遇到了一些问题,比如你描述的问题,将它们设置为相同的值。