Проблема маршрутизации с определенным именем контроллера с использованием ASP. NET MVC 1 в IIS 7

Я присоединился к команде, разрабатывающей приложение ASP.NET MVC версии 1. Я запускаю это приложение на своем локальном компьютере с помощью IIS версии 7.5. Моя операционная система - Windows Server 2008 R2 Enterprise Edition. Я использую Visual Studio 2008 SP1 для разработки.

Один из контроллеров в этом приложении называется ReportsController. Записи таблицы маршрутов для этого контроллера используют «Отчеты» как часть имени контроллера. У меня проблема в том, что, используя IIS 7.5 на моем локальном компьютере, я просто не могу получить доступ ни к одному из методов действия отчетов. Если я попытаюсь открыть, скажем, '/ Reports / Index' из Chrome или Firefox, Я получаю ответ 401 Неавторизованный (как видно с помощью Fiddler), и браузер отображает диалоговое окно ввода имени пользователя и пароля.

Обратите внимание на следующее:

  • Все остальные страницы приложения, не относящиеся к отчетам, работают правильно.
  • Если я добавлю точку останова в Application_BeginRequest, она не будет достигнута при запросе страницы отчетов.
  • Если я изменю записи маршрутизации отчетов в коде регистрации таблицы маршрутов, так что мне нужно получить доступ к таким путям, как '/ Reportss / Index' (обратите внимание на дополнительные 's'), тогда эти страницы отчетов работают правильно.
  • Я попытался удалить, а затем воссоздать свой Интернет приложение в IIS.
  • Страницы отчетов работают нормально, если я запускаю приложение с помощью сервера разработки Visual Studio 2008 (Cassini).
  • В каталоге приложения нет каталога с именем Reports.
  • Страницы отчетов работают правильно в нашей среде UAT, также в IIS 7.5.
  • Я несколько раз проверял свои настройки IIS, в том числе сравнивая их с настройками UAT, и не вижу проблемы.

Хотя я могу использовать Cassini для доступа к страницам отчетов, я бы действительно хотел бы понять, что вызывает эту проблему.

7
задан stevejay 5 February 2011 в 01:25
поделиться