Почему asp.net не создает файлы cookie в localhost?

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

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

Джеймс

Ответ 1

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

Ответ 2

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

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

Удалите атрибут домена в разработке и куки файлы написаны:

<!-- Development -->
<httpCookies httpOnlyCookies="true" requireSSL="false" />
<!-- Production -->
<!--<httpCookies domain=".domain.com" httpOnlyCookies="true" requireSSL="true" />-->

Ответ 3

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