IIS 6.0 неожиданно показывает список каталогов вместо приложения MVC 3 - PullRequest
13 голосов
/ 04 января 2012

За ночь (внутреннее, к счастью) веб-приложение MVC перестало работать для меня, насколько я знаю, ничего не менялось.Само приложение абсолютно не использовалось в последние два дня, и то же самое касается IIS.

Проблема в том, что я получаю список каталогов моей www-папки вместо действия приложения по умолчанию (/Home/Index).

Моя www-папка содержит стандартные материалы:

bin
Content
Scripts
Views
Global.asax
Web.config

Я попытался:

  • , установив «Определенную страницу» в качестве действия запускано это не решает проблему.
  • перезапуск веб-страницы в IIS
  • включение / отключение «страницы содержимого по умолчанию» в IIS.Не помогает, но IIS обнаруживает Default.html, если я помещаю его в папку www.

Теперь это уже было однажды.В то время я был в отпуске, и это было решено путем перезапуска всей службы публикации в Интернете.Хотя это может сработать и в этот раз, я бы лучше выяснил корень проблемы, прежде чем временно ее исправить, просто чтобы это повторилось в будущем.Поэтому, хотя перезапуск WWW Publishing Service может привести к возобновлению работы сайта, я бы лучше понял, почему это произошло, прежде чем исправить это таким образом.

Наконец, обратите внимание, что я запускаю другие приложения MVC натот же сервер IIS и никогда не сталкивался с этой проблемой.

Ответы [ 7 ]

21 голосов
/ 18 июня 2012
  1. Открыть командную строку
  2. Перейти к папке C:\Windows\Microsoft.NET\Framework\<version>.
  3. Выполнить aspnet_regiis -i

Вот и все!

5 голосов
/ 30 апреля 2014

Немного поздно .... Но так как я получал тот же результат.

Мой пул приложений нацелился не на ту версию .Net (должна совпадать с веб-приложением Target Framework). Просто настроил в параметре «Установить пул приложений по умолчанию», перезапустил, и это было решено.

Надеюсь, это кому-нибудь поможет.

3 голосов
/ 20 августа 2013

У меня была похожая проблема. Корневой путь IIS был изменен коллегой. Решением было исправить «Физический путь» в «Расширенных настройках» веб-сайта по умолчанию.

2 голосов
/ 04 января 2012

Я не думаю, что / Home / Index можно запустить IIS 6.0 без какой-либо конфигурации. ASP.NET MVC на самом деле требует «Интегрированный режим», но может быть запущен на классическом с применением конфигурации.

Эта статья мистера Хаака может быть полезной: http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

0 голосов
/ 29 мая 2019

У меня была такая же проблема, и вот как я ее решил.

У меня была проблема с файлом Global.asax на сервере TFS, унаследованном от проекта WebAPI (а не от веб-проекта), хотявеб-проект был выбран в качестве стартового проекта в Visual Studio.Когда я запускал свою сборку, веб-API был задан в качестве начального проекта на веб-сервере, поскольку он развертывал версию на сервере TFS, которая наследовалась от проекта WebAPI.Чтобы решить эту проблему, я установил другой проект в качестве запускаемого проекта, а затем изменил веб-проект на повторный запуск в Visual Studio.Я должен был сделать это, так как TFS жаловался, что не было никаких ожидающих изменений, когда я пытался проверить версию, которую я имел на своем компьютере, в TFS.Затем я проверил свой код и снова запустил сборку.Это решило мою проблему.

0 голосов
/ 15 мая 2018

Изменение версии пула приложений .NET CLR может помочь.

  1. Щелкните правой кнопкой мыши в пуле приложений, в котором запущено ваше приложение, и выберите Расширенные настройки...
  2. Измените .NET CLR VERSION на версию вашего приложения (такую ​​же, как в файлах конфигурации)
  3. Нажмите ok

enter image description here

0 голосов
/ 15 апреля 2015

Увидел эту проблему, когда я добавил папку с именем «документы» в корень, а также имел контроллер DOCUMENTS и представление.Я думаю, что это было сбито с толку, если я хотел, чтобы маршрут \ documents находился в папке CONTROLLER или в папке \ documents под корнем.Одним из решений было добавление идентификатора в маршрут, что заставляет его использовать версию контроллера для документов

Url.Action("Index", "Documents", *New With {.id = 1}*)

Также можно изменить имя новой добавленной папки под корнем на DOCS.

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