延长asp.net会话的结束日期?

时间:2013-01-28 15:13:14

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

asp.net会话如何延长,每个请求都会延长会话结束日期,并且足以通过ajax调用void()来将会话结束日期延长一段时间(默认20分钟左右...)

public void ResetSessionTime()
{

}

或者我必须以某种方式调用会话:

public void ResetSessionTime()
{
    User currentUser = HttpContext.Current.Session[userSessionKey] as User;
}

简单请求如何延长会话结束日期?

This问题声称每次回复延长会话......

This关于会话状态提供商的MSDN:

  

“ASP.NET创建的每个会话都有一个超时值(默认为20   分钟)与之相关。如果没有访问会话   在会话超时内,会话被视为已过期,并且   它不再有效。“

请求如何准确访问会话?

这个问题:Keeping session alive C#没有回答会话结束日期是如何被请求延长的,只是关于如何从客户端保持会话活动的意见

修改

根据this article,需要从IHttpHandler扩展方法,以便访问当前会话......

public class KeepSessionAlive : IHttpHandler, IRequiresSessionState
{
    public void ProcessRequest(HttpContext context)
    {
        context.Session["KeepSessionAlive"] = DateTime.Now;
    }
}

1 个答案:

答案 0 :(得分:2)

每次发出请求时,会话超时都会重置。请求可以是页面加载或类似ASYNC调用。

请看一下这个问题,了解如何通过定期向服务器发出AJAX调用来保持会话处于活动状态。 (Keeping ASP.NET Session Open / Alive