Удалить или сбросить файлы cookie
Вопрос
я устанавливаю куки Request.Cookies("TemplateName").value
на одной из моих страниц (страница 3) моего приложения.Теперь я могу перейти со страницы 3 на страницу 4 и страницу 2 и сохранить значение файла cookie.Но теперь, когда я выхожу из системы и снова вхожу в систему, оно все еще имеет значение, как я могу сбросить значение файла cookie, чтобы оно было пустым "", когда я запускаю новый экземпляр?
Я пытался:
Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = ""
На моей домашней странице, но файл cookie по-прежнему сохраняет значение на страницах 2 и 3.
Решение
Вам нужно использовать ответ, а не запрос
Response.Cookies["TemplateName"].Value = "";
Response.Cookies["TemplateName"].Expires = DateTime.Now;
РЕДАКТИРОВАТЬ Для VB.
Dim subkeyName As String
subkeyName = "userName"
Dim aCookie As HttpCookie = Request.Cookies("userInfo")
aCookie.Values.Remove(subkeyName)
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)
Response.Cookies("userName").Value = "patrick"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)
Эти примеры взяты сразу из Сайт MSDN
Примечание
Часто люди пытаются использовать
Request.Cookies.Remove("MyCookie");
При этом файл cookie будет удален только из «сборника запросов». Если вы хотите удалить файл cookie, вам необходимо истечь его срок действия.Больше информации здесь
Другие советы
Это может показаться глупым.
Но вы пытаетесь установить cookie из любого другого места?Найдите код TemplateName, если это поможет.
Я не так хорошо знаком с .Net, но с веб-приложениями в целом вам необходимо убедиться, что вы установили заголовки ответов, прежде чем писать какое-либо тело, иначе они могут не быть отправлены.Просто что-то, что стоит перепроверить.