Сеансы без cookie и IIS7 вызывают цикл перенаправления - PullRequest
7 голосов
/ 15 апреля 2009

У меня есть веб-сайт ASP .NET, который использует сеансы без файлов cookie. Когда первоначальный запрос сделан на сайт, используя URL-адрес, такой как:

http://localhost/site

IE просто отображает стандартное сообщение «Internet Explorer не может отобразить веб-страницу». Firefox немного более полезен и отображает следующее сообщение:

"Превышен лимит перенаправления для этого URL. Невозможно загрузить запрашиваемую страницу. Это может быть вызвано заблокированными файлами cookie."

Я добавил трассировку в global.asax и попал в событие запуска приложения, но не в событие запуска сеанса.

Я явно не блокировал файлы cookie в браузерах и не устанавливал никаких правил перенаправления http.

Сайт отлично работает с моим сервером разработки и под IIS6.

Если я отключаю сеансы без файлов cookie, то в IIS7 все нормально.

Я могу воспроизвести это на простейших веб-сайтах, т. Е. В Visual Studio, Файл> Новый веб-сайт, а затем просто установить параметр cookieless = "true" web.config.

Я проверил это на рабочей станции в колледже, и она работает, поэтому я предполагаю, что в IIS7 это какая-то настройка.

Есть идеи?

1 Ответ

6 голосов
/ 15 апреля 2009

Ну, я нашел проблему.

У меня было два ISAPI-фильтра, оба указывали на одну и ту же DLL:

% Windir% \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_filter.dll C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_filter.dll

Я удалил второй, и все было хорошо. Я не знаю, что поставило там дубликат, это точно не я.

...