【问题标题】:ASP.NET MVC Cookie loses value when page is changed更改页面时 ASP.NET MVC Cookie 失去价值
【发布时间】:2010-06-14 15:06:01
【问题描述】:

当用户登录我的网站时,我会创建一个包含一些信息的 cookie。但是,每当他们更改登录页面时,cookie 就会失去它的价值。 Cookie 还在,但它是空的。

我检查了我的代码,我所做的任何事情都没有重写 cookie。 有谁知道为什么页面更改时 cookie 变为空?

这是创建cookie的方法。

public static void CreateUserCookie(long userId, string username, bool rememberMe) {

        HttpCookie cookie = new HttpCookie("CookieName");
        cookie.Value = string.Format("{0}+{1}+{2}", userId, username, SecurityUtils.CreateHashedCookieValue(userId, username));

        if (rememberMe) {
            cookie.Expires = DateTime.Now.AddMonths(1);
        } else {
            cookie.Expires = DateTime.MinValue;
        }

        HttpContext.Current.Response.Cookies.Add(cookie);
    }

【问题讨论】:

  • 如果您显示一些代码(主要是 cookie 的创建代码),帮助会容易得多...
  • 我认为这无关紧要,但就是这样。 :)

标签: c# asp.net-mvc cookies


【解决方案1】:

调用该方法时,是否为“rememberMe”参数传入true?否则,cookie 将立即过期。

你没有显示你的调用代码,所以这可能是你所做的。

【讨论】:

  • 所以cookie会立即过期DateTime.MinValue?我应该输入什么来让它在浏览器会话结束时过期?
  • 如果您传入“true”,它将在一个月内过期,或者您可以更改它,使其成为不同的时间段 - 20 分钟、一天等。
猜你喜欢
  • 2010-09-17
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-27
  • 2023-04-04
相关资源
最近更新 更多