2010-06-14 1 views
2

Когда пользователь входит на мой сайт, я создаю файл cookie с некоторой информацией в нем. Однако, всякий раз, когда они меняют страницу при входе в систему, cookie теряет ее ценность. Cookie все еще там, но он пуст.ASP.NET MVC 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); 
    } 
+0

Если вы показываете код (в основном код создания для печенья), это будет намного легче помочь ... –

+0

Я не думал, что это важно, но вот оно. :) –

ответ

2

Когда вы вызываете этот метод, вы передаете true для параметра «rememberMe»? Если нет, cookie будет немедленно истекать.

Вы не указали свой код вызова, так что это потенциально то, что вы сделали.

+0

Итак, cookie будет немедленно истекать с помощью DateTime.MinValue? Что мне следует вводить вместо этого, чтобы истечь в конце сеанса браузера? –

+0

Если вы перейдете в «истинное», оно истечет через один месяц, или вы можете изменить это, так что это будет другой период времени - 20 минут, день и т. Д. – Fenton

Смежные вопросы