当用户在超时结束之前进行交互时扩展会话超时

时间:2014-02-27 20:33:00

标签: c# asp.net-mvc session session-timeout

在MVC应用程序中,我在js中有代码,它会在会话到期前3分钟开始滴答。一旦用户点击屏幕,我就会尝试以这种方式延长会话超时。

在web.config中: -

<sessionState timeout="20" />

我有一个会话控制器,我做了ajax当用户点击屏幕而3分钟时钟滴答时,请转到下面的操作方法。

[Authorize]
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public virtual ActionResult Extend()
{           
  Session.Timeout = 20;
  return new EmptyResult();
}

控件确实来到此处并执行上述代码并退出。但实际上所有的Session变量都被刷掉了!为什么会这样?

另外,为什么我真的需要在.net本身应该能够扩展它时显式扩展会话,因为用户仍在与屏幕交互?

如果我必须明确扩展,我如何在不刷新Session变量的情况下扩展会话,而无需用户获取和回发,并继续与他离开的网站进行交互。

1 个答案:

答案 0 :(得分:0)

用户返回应用程序池的任何请求都应该扩展会话。您无需重置。尝试取出Session.Timeout = 20.我认为你正在吹走你的会话。