Я присоединился к команде, разрабатывающей приложение ASP.NET MVC версии 1. Я запускаю это приложение на своей локальной машине, используя IIS версии 7.5. Моя операционная система - Windows Server 2008 R2 Enterprise Edition. Я использую Visual Studio 2008 SP1 для разработки.
Один из контроллеров в этом приложении называется ReportsController. Записи таблицы маршрутов для этого контроллера используют «Отчеты» в качестве части имени контроллера. У меня проблема в том, что при использовании IIS 7.5 на моем локальном компьютере я просто не могу получить доступ ни к одному из методов действия Reports. Если я пытаюсь получить доступ, скажем, к «/ Reports / Index» из Chrome или Firefox, я получаю 401 несанкционированный ответ (как видно с помощью Fiddler), и браузер отображает диалоговое окно ввода имени пользователя / пароля.
Обратите внимание на следующее:
- Все остальные страницы без отчетов в приложении работают правильно.
- Если я добавлю точку останова в Application_BeginRequest, она не будет достигнута при запросе страницы отчетов.
- Если я изменю записи маршрутизации отчетов в регистрационном коде таблицы маршрутов, чтобы мне приходилось обращаться к таким путям, как «/ Reportss / Index» (обратите внимание на дополнительные «s»), тогда эти страницы отчетов будут работать правильно.
- Я попытался удалить, а затем воссоздать свое веб-приложение в IIS.
- Страницы отчетов работают нормально, если я запускаю приложение с помощью сервера разработки Visual Studio 2008 (Cassini).
- В каталоге приложения нет каталога с именем Reports.
- Страницы отчетов правильно работают в нашей среде UAT, в том числе в IIS 7.5.
- Я несколько раз проверял настройки IIS, в том числе сравнивал их с настройками в UAT, и не вижу проблемы.
Хотя я могу использовать Cassini для доступа к страницам отчетов, мне бы очень хотелось понять, что является причиной этой проблемы.