代码之家  ›  专栏  ›  技术社区  ›  Shay Erlichmen

为什么从*.mvc映射mvchttphandler?

  •  3
  • Shay Erlichmen  · 技术社区  · 14 年前

    默认情况下,MVC项目的web.config文件具有以下元素:

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

    我的问题是,我的网站返回404.14,在剔除了所有常见的嫌疑犯之后,我将web.config中的path(从上面的代码片段中)属性更改为“*”和voil!MVC处理程序启动。

    所以我的问题是*.mvc是如何工作的?我的意思是我的网址是 http://mysite.com/home/index (甚至只是) http://mysite.com/ )其中没有*.mvc。

    我错过什么了吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Miyagi Coder    14 年前

    通过更改路径,您将告诉路由引擎向URL添加.mvc扩展名。您可能没有在IIS中映射.mvc扩展名并收到错误。

    请参阅此处了解有关IIS和MVC的信息,尤其是在使用IIS 6.0时:

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