滑动过期.net会话

本文关键字:会话 net 过期 | 更新日期: 2023-09-27 18:03:23

我试图让我的用户无限期地留在网站内,这样,如果有会话还没有过期,我将滑动过期再几分钟,但它似乎不工作。

我代码:

private void Application_EndRequest(object sender,EventArgs e)
{
        if(Response.Cookies["siteCookie"] != null)
        {
            Response.Cookies["siteCookie"].Expires = DateTime.UtcNow.AddHours(1);
        }
}

,但只有在初始请求中,当最终用户还没有我的cookie时,服务器返回Set-Cookie头,但在

滑动过期.net会话

之后的请求中不返回

Response.Cookies包含被设置为当前请求/响应的一部分的cookie列表。它不包含先前设置的cookie,尽管这些cookie通常出现在Request.Cookies中。你可以这样写:

private void Application_EndRequest(object sender,EventArgs e)
{
    var oldCookie = Request.Cookies["SiteCookie"];
    if (oldCookie != null)
    {
        var newCookie = new HttpCookie("SiteCookie", oldCookie.Value);
        newCookie.Expires = System.DateTime.Now.AddHours(1);
        Response.AppendCookie(newCookie);
    }
}