Проблема маршрутизации с определенным именем контроллера с использованием ASP.NET MVC 1 в IIS 7 - PullRequest
7 голосов
/ 05 февраля 2011

Я присоединился к команде, разрабатывающей приложение 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 для доступа к страницам отчетов, мне бы очень хотелось понять, что является причиной этой проблемы.

Ответы [ 3 ]

12 голосов
/ 05 февраля 2011

Если на вашем компьютере установлены службы Reporting Services. попробуйте создать новый веб-сайт и использовать его. Если на вашем компьютере установлен SSRS, он использует / reports для размещения отчетов.

1 голос
/ 16 мая 2017

У меня точно такая же проблема в моем приложении MVC со службами отчетов, установленными на том же сервере, где был развернут код.Я изменил URL-адрес диспетчера отчетов в «Конфигурации служб отчетов SQL Server», который был hostName / Reports, и ему было присвоено новое имя, например SSRSReports, поэтому виртуальный каталог теперь называется hostName / SSRSReports.

Теперь мое приложение, а также SSRSОтчеты работают как положено.

1 голос
/ 10 мая 2011

У меня были проблемы с использованием имени каталога «Reports» в корне веб-сайта .net 2.0 на IIS 7.5. Он генерирует ошибку 503, указывающую, что на системном уровне произошла ошибка, прежде чем IIS пытается обработать страницу. Я не уверен, установлены ли на моем сервере службы отчетов. Я просто изменил имя каталога, все ссылки и все работало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...