Почему asp.net не создает куки в localhost? - PullRequest
42 голосов
/ 24 декабря 2008

Хорошо, это действительно начинает меня беспокоить. У меня есть простая настройка веб-проекта, расположенная по адресу: "C: \ Projects \ MyTestProject \". В IIS на моем компьютере я сопоставил виртуальный каталог с этим местоположением, чтобы я мог запускать свои сайты локально (я понимаю, что могу запускать его из Visual Studio, мне этот метод больше нравится). Я назвал этот виртуальный каталог "mtp", и я получаю к нему доступ через http://localhost/mtp/index.aspx. Все это работает нормально.

Однако, когда я пытаюсь создать куки, он просто никогда не записывается? Я пробовал это в FF3 и IE7, и это просто не будет записывать куки. Я не понимаю У меня есть «127.0.0.1 localhost» в моем файле hosts, я не могу придумать что-либо еще, что я могу сделать. Спасибо за любой совет.

Джеймс

Ответы [ 3 ]

89 голосов
/ 26 апреля 2010

Спецификации cookie требуют двух имен и точки между ними, поэтому ваш домен не может быть «localhost». Вот как я это решил:

  1. Добавьте это в ваш файл% WINDIR% \ System32 \ drivers \ etc \ hosts: 127.0.0.1 dev.livesite.com

  2. При разработке вы используете http://dev.livesite.com вместо http://localhost

  3. Используйте ".livesite.com" в качестве Cookiedomain (с точкой в ​​начале) при создании cookie. В современных браузерах больше не требуется начальная точка , но вы можете использовать ее для обратной совместимости.

  4. Теперь работает на всех сайтах:

13 голосов
/ 28 мая 2014

Так как ответ никогда не был выбран, я полагаю, что я все еще могу выбросить что-то еще.

Одной из причин, по которой вы не можете записать файлы cookie с приложением, работающим под локальным хостом, является параметр httpCookies в файле web.config. Если для атрибута домена был задан конкретный домен, а вы работаете под localhost, файлы cookie не были записаны для меня.

Удалите атрибут домена в разработке, и куки пишутся:

<!-- Development -->
<httpCookies httpOnlyCookies="true" requireSSL="false" />
<!-- Production -->
<!--<httpCookies domain=".domain.com" httpOnlyCookies="true" requireSSL="true" />-->
0 голосов
/ 24 декабря 2008

Вы назначаете дату истечения срока действия куки? По умолчанию срок действия файла cookie истекает по окончании сеанса браузера, то есть он ничего не записывает на диск.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...