Издание MVC3 и IIS 6 - PullRequest
       58

Издание MVC3 и IIS 6

2 голосов
/ 18 июня 2011

Я боролся с этим в течение нескольких часов без всяких успехов.

Я пытаюсь опубликовать веб-приложение (MVC3, .net4, созданное в Visual Studio 2010) на сервере.Все Google в конечном итоге приводят к этой статье , которая не была полезна.Согласно ему, MVC3, работающий на IIS 6 (установлены MVC и .net4, это сервер 2k3), должен просто работать.Различные настройки дают мне разные проблемы, но ничего не работает.С настройками по умолчанию я получаю «Запрещено перечисление каталогов. Этот виртуальный каталог не позволяет перечислять содержимое».Если я включаю просмотр каталогов, я вижу директорию сайта, но это бесполезно.

В IIS есть возможность использовать страницу по умолчанию, но я подумал, что MVC ее не использовал,Когда я запустил проект, в моем проекте не было «default.aspx», и он работал нормально на локальном сервере для тестирования отладки.Если мне нужна страница по умолчанию, я не знаю, как ее создать.Если он мне не нужен, какие настройки мне нужно использовать в IIS 6, чтобы он правильно обслуживал страницы (с помощью модуля mvc?).

Это мое первое веб-приложение, поэтому яВероятно, отсутствует что-то основное.Вполне возможно, что я удалил какой-то критический файл из проекта.

Редактировать: не уверен, что это что-то меняет, но сайт не публикуется в корне домена.URL в конечном итоге становится www.company.net/directory.

Редактировать: я попытался создать новое приложение MVC3 в Visual Studio, просто приложение по умолчанию, и сразу же опубликовал его на сервере.Та же ошибка.Это определенно что-то в IIS.

Ответы [ 3 ]

15 голосов
/ 18 июня 2011

Попробуй это.

  1. Открыть диспетчер IIS.
  2. Элемент списка
  3. Выберите свой веб-сайт, затем выберите свойства.
  4. Перейдите в виртуальный каталог
  5. Нажмите Конфигурация
  6. В конфигурации приложения
    Расширение приложения - добавьте расширение .mvc и путь C: \ windows \ microsoft.net \ framework \ v4.xxxxx \ aspnet_isapi.dll
  7. На картах приложений с подстановочными знаками вставьте тот же путь, что и выше
  8. UNCHECK убедитесь, что файл существует (если вы проверите, что он не запустится)

У Phil Haack есть хорошая статья: http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

1 голос
/ 11 января 2012

У меня была такая же проблема. Помимо выполнения всех вышеперечисленных шагов, мне также пришлось создать новый веб-сайт в IIS. Все мои производственные веб-сайты работали под «Веб-сайтом по умолчанию». У меня было каждое приложение, настроенное как виртуальный каталог. Мой «Веб-сайт по умолчанию» работает на ASP.NET 2.0. что хорошо для всех других приложений. Это не работает для приложений MVC, поскольку требует ASP.NET 4.0.

Для решения проблемы я сделал следующее:

  1. Создан новый пул приложений
  2. Создал новый каталог в inetpub и назвал его wwwroot4_0
  3. Переместил мое приложение в это место
  4. Создан новый веб-сайт и для версии ASP.NET установлено значение 4.0.
  5. Под новым сайтом я дал ему другой порт, порт 81
  6. Создал новое приложение как виртуальный каталог под моим новым сайтом
  7. Изменены маршруты моего приложения, чтобы включить расширение .aspx

    routes.MapRoute ( "По умолчанию", // Название маршрута "{controller} .aspx / {action} / {id}", // URL с параметрами new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Параметры по умолчанию );

Способ доступа к приложению: www.mydomainname.com:81/MyAppName/Default.aspx

Пожалуйста, дайте мне знать, если это кому-нибудь поможет. Благодарю.

1 голос
/ 18 июня 2011

У меня была точная проблема при переходе с локальной разработки на веб-сервер.По какой-то причине на сервере не было настроено правильное сопоставление.Проверьте конфигурацию сопоставлений обработчиков и убедитесь, что перечислены все сопоставления, связанные с MVC, например, «.cshtm» и «.cshtml» - их должно быть несколько для каждого расширения.

...