2017-01-10 5 views
0

У меня есть сайт Asp.Net и есть 2 куки.Почему cookie удаляется

Я создаю эти файлы cookie этим кодом;

public static void CreateCookie(string Cookie) 
{ 
    HttpCookie cookie = new HttpCookie(Cookie); 
    cookie.Expires = DateTime.Now.AddYears(1); 
    HttpContext.Current.Response.Cookies.Add(cookie); 
} 

CreateCookie("Cookie1"); 
CreateCookie("Cookie2"); 

Таким образом, срок службы обоих печенья составляет 1 год, как я вижу на Chrome.

Но когда я проверю через 1 день, я вижу, что Cookie1 автоматически удаляется,
, хотя я проверяю файлы cookie без входа на сайт и просто проверяю Chrome.

Я не могу этого предотвратить. Почему это происходит?
И как я могу это исправить?

Обновление:
Эта ошибка возникает только на моем собственном сайте.
И я собираюсь проверить это на другом компьютере и другом браузере.

+0

Обратное [обсуждается здесь] (http://stackoverflow.com/questions/10617954/chrome-doesnt-delete-session-cookies), я почти уверен, у вас есть параметр конфиденциальности или активный плагин, который удаляет файлы cookie независимо от них. Пожалуйста, уточните, происходит ли это только в этом браузере, на этом компьютере, на этом сайте и т. Д., Как описано в [ask]. – CodeCaster

+0

Okey Я добавил обновление. –

+0

Но мой браузер не имеет расширения. –

ответ

0

Вы не установить значение куков. Добавление файла cookie без значения заставит браузер удалять файл cookie с заданным именем, если он существует.

Используйте значение:

public static void CreateCookie(string Cookie, string value) 
{ 
    HttpCookie cookie = new HttpCookie(Cookie, value); 
    cookie.Expires = DateTime.Now.AddYears(1); 
    HttpContext.Current.Response.Cookies.Add(cookie); 
} 

CreateCookie("Cookie1", "Hello"); 
CreateCookie("Cookie2", "world"); 
0

Попробуйте связывающее печенье к сессии через:

HttpCookie authCookie = new HttpCookie(Cookie, Session.SessionID); 
Смежные вопросы