Разверните asp.net mvc beta на iis 6, вызвав 404-е - PullRequest
14 голосов
/ 27 октября 2008

Я изо всех сил пытаюсь обойти 404 ошибки из asp.net mvc beta при развертывании на IIS 6. У меня это работало в одном из предварительных просмотров путем сопоставления .mvc в IIS, но это больше не работает. Я прочитал сообщение Омара и несколько других в Интернете и попробовал их решения, но пока не повезло.

Домашняя страница открывается без проблем на IIS 6, но другие 404, и сайт хорошо работает на IIS 7.

Кто-нибудь успешно развернул бета-версию asp.net mvc на IIS 6? Если да, какие изменения необходимо было внести в код и / или настройки IIS, чтобы он заработал?

Ответы [ 3 ]

26 голосов
/ 27 октября 2008

Я нашел решение своей проблемы из в блоге Стива Сандерсона (Спасибо, Стив):

Использовать подстановочный знак для aspnet_isapi.dll. Это говорит IIS 6 обрабатывать все запросы с использованием ASP.NET, поэтому маршрутизация всегда вызывается, и проблем нет. Его очень легко настроить:

  • открыть диспетчер IIS (запустить -> inetmgr -> OK)
  • щелкните правой кнопкой мыши свое приложение, перейдите в Свойства
  • , затем вкладка «Домашний каталог», затем нажмите «Конфигурация».
  • В разделе Карты приложений Wildcard нажмите Вставить (не Добавить, что только выше)
  • затем введите C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll для «Исполняемый файл» и снимите флажок «Проверять, существует ли этот файл».
5 голосов
/ 04 января 2011

Кажется, я пока не могу писать комментарии. Поэтому я напишу новый ответ.

Есть несколько похожих вопросов, касающихся обхода стека. Я использую MVC 3. Я знаю, что вопрос был связан с MVC 2. Но так как это первая публикация стека, я натолкнулся на следующее:

  • при использовании MVC 3 вам необходимо добавить новое сопоставление расширений с исполняемым файлом .NET 4 framework (C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll)

Я только что узнал, что мне даже не нужно настраивать отображение расширений.

  • Тогда он все еще не работал :) Мне все еще приходилось «разрешать» ASP.NET v4.0.30319 в разделе «Расширения веб-служб» в IIS:
    • открыть IIS
    • нажмите на узел сервера
    • открыть раздел «Расширения веб-службы»
    • выберите ASP.NET v4.0 ....
    • щелкните правой кнопкой мыши -> Разрешить Хорошо идти!
1 голос
/ 24 ноября 2009

Перезапись URL может помочь вам решить проблему. Я реализовал решение, позволяющее развернуть приложение MVC на любой версии IIS даже при использовании виртуального хостинга. http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

...