2010-01-19 2 views
3

По умолчанию файл web.config для проекта MVC имеет следующий элемент:Почему MvcHttpHandler сопоставляется с * .mvc?

<handlers> 
    <remove name="MvcHttpHandler"/> 
    <add name="MvcHttpHandler" preCondition="integratedMode" 
     verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler"/> 
</handlers> 

Моей проблема заключается в том, что мой сайте возвращает 404.14, после выбивания всех обычных подозреваемых я изменил путь (форма фрагмента коды выше) атрибут в web.config должен быть «*» и voilà! Проводник MVC запускается.

Так что мой вопрос в том, как * .mvc даже предположить работать? Я имею в виду, что мои URL-адреса: http://mysite.com/home/index (или даже только http://mysite.com/), в них нет * .mvc.

Я что-то упустил?

ответ

2

Изменив путь, вы сообщаете механизму маршрутизации, чтобы добавить расширение .mvc в URL. У вас, вероятно, нет расширения .mvc, отображаемого в IIS и получающего сообщение об ошибке.

Смотрите здесь на информацию о IIS и MVC, особенно если вы используете IIS 6.0:

http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

+0

Вы были правы, я пропускал обработчик * .mvc, что странно, потому что я бы ожидать, что VS 2010 Beta 2 сделает это для меня ... или, возможно, я установлю IIS AFTER VS 2010. –

Смежные вопросы