当用户登录到我的站点时,我会创建一个包含一些信息的 cookie。但是,每当他们从登录更改页面时,cookie 就会失去它的值(value)。 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);
}
最佳答案
当你调用这个方法时,你是否为“rememberMe”参数传入了true?否则,cookie 将立即过期。
您还没有显示您的调用代码,所以这可能是您所做的。
关于c# - ASP.NET MVC Cookie 在页面更改时丢失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3035325/