2008-10-27 7 views
14

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

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

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

+2

Для S & G ... проверьте соответствие шаблонов. Установлен ли этот флажок «Проверить, существует ли файл»? Я ненавижу этого маленького ублюдка. – Will 2008-10-27 14:52:38

ответ

26

Я нашел решение моей проблемы с Steve Sanderson's blog (спасибо Steve):

Вариант 1: Используйте отображение подстановочного для aspnet_isapi.dll Это говорит IIS 6 для процесса всех запросов с помощью ASP.NET, так что маршрутизации всегда вызывается, и есть никаких проблем. Сложно настроить: открыть диспетчер IIS, щелкнуть правой кнопкой мыши ваше приложение , перейдите в раздел «Свойства», затем «Главная» вкладка «Каталог», затем нажмите « ». Под Wildcard карты приложений, нажмите кнопку Вставить (не Добавить, которая чуть выше смешения), введите C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll для «Executable» и снимите флажок Подтвердите , что файл существует.

+1

Я просто сделал это сам ... отлично работает! – mattruma 2008-11-15 23:39:10

+2

Отлично! Это решило мою проблему спустя полтора часа, ударив головой о стену. – 2008-12-02 13:17:37

1

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

5

Я пока не могу написать рецензию. Поэтому я напишу новый ответ.

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

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

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

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