Я развертываю приложение ASP.NET MVC 2 (.NET 4) на сервере Windows Server 2008 R2.
У меня настроен пул приложений и веб-сайт в IIS. Приложение использует проверку подлинности с помощью форм.
Приложение работает нормально, если я сначала захожу на страницу входа (http://mydomain.com/authentication/login). Я могу войти в систему, а затем использовать приложение просто отлично.
Если я просто захожу в корневой каталог домена или в любое другое место, кроме страницы входа, перед входом в систему он перенаправляет на http://mydomain.com/authentication/login?ReturnUrl=%2fsome%2flocation, что приводит к тому, что Firefox выдает ошибку «Сброс соединения», а IE говорит: «Веб-страница не может отображаться ".
Если я вручную удаляю кодировку URL (http://mydomain.com/authentication/login?ReturnUrl=/some/location), все работает нормально.
Таким образом, моя проблема заключается в том, что ASP.NET (или, возможно, IIS) не может обработать закодированный URL.
Есть идеи?
Спасибо
Justin
UPDATE
Я создал приложение MVC 3 и скопировал в него файлы. Все еще имеет ту же проблему. Все отлично работает при работе с Cassini в VS2010.
ОБНОВЛЕНИЕ 2
Хорошо, я упростил это еще больше. Я создал виртуальный каталог на веб-сайте по умолчанию в IIS и поместил в файл index.html надпись Hello World. Если я перехожу к http://somedomain.com/test/index.html, то все в порядке, но если я перехожу к http://somedomain.com/test/index.html?redirect=%2f, я получаю ту же ошибку «Соединение было сброшено». Я предполагаю, что это сужает проблему с IIS. Есть идеи?
решаемые
Оказывается, нет ничего плохого в моем приложении или IIS. Это на самом деле проблема с моей рабочей станцией. Попытка просмотреть любой URL-адрес с закодированной косой чертой (% 2F) вызывает эту ошибку во всех браузерах. Просмотр приложения с других компьютеров работает нормально.