Разверните бета-версию asp.net mvc в iis 6, вызывая ошибку 404

StackOverflow https://stackoverflow.com/questions/239981

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

<edit>Я только что узнал, что мне даже не нужно настраивать сопоставление расширений.</edit>

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top