Удалить или сбросить куки - PullRequest
       16

Удалить или сбросить куки

4 голосов
/ 23 декабря 2008

Я устанавливаю cookie Request.Cookies("TemplateName").value на одной из моих страниц (страница 3) моего приложения. Теперь я могу переходить со страницы 3 на страницу 4 и страницу 2 и сохранять значение файла cookie. Но теперь, когда я выхожу из системы и снова захожу, она по-прежнему имеет значение, как я могу сбросить значение cookie, чтобы оно оставалось пустым при запуске нового экземпляра?

Я пытался:

Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = "" 

На моей домашней странице, но cookie все еще сохраняет значение на страницах 2 и 3.

Ответы [ 3 ]

5 голосов
/ 23 декабря 2008

Вам нужно использовать ответ, а не запрос

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

Sidenote

Часто люди пытаются использовать

Request.Cookies.Remove("MyCookie");

Который будет удалять только cookie из «коллекции запросов». Если вы хотите удалить cookie, вам нужно удалить его Подробнее здесь

0 голосов
/ 23 декабря 2008

Я не так хорошо знаком с .Net, но с веб-приложениями в целом вам необходимо убедиться, что вы установили заголовки ответа, прежде чем писать какие-либо тексты, иначе они могут быть не отправлены. Просто что-то, чтобы перепроверить.

0 голосов
/ 23 декабря 2008

Это может звучать глупо.

Но вы пытаетесь установить cookie из любого другого места? Найдите код для TemplateName, если это поможет.

...