6

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

public void ResetSessionTime()
{

}

还是我必须以某种方式调用会话:

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

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

这个问题声称每个回发都会延长会话......

这个关于 Session State Providers 的 MSDN :

“由 ASP.NET 创建的每个会话都有一个与之关联的超时值(默认为 20 分钟)。如果在会话超时内没有对会话的访问发生,则认为会话已过期,不再有效。 "

请求如何准确访问会话?

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

编辑:

根据这篇文章,需要从 IHttpHandler 扩展方法,以便访问当前会话...

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

1 回答 1

2

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

查看这个问题,了解如何通过定期对服务器进行 AJAX 调用来保持会话处于活动状态。(保持 ASP.NET 会话打开/活动

于 2013-01-28T16:01:22.760 回答