Почему MvcHttpHandler отображается из * .mvc? - PullRequest
3 голосов
/ 19 января 2010

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

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

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

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

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

1 Ответ

2 голосов
/ 19 января 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...