ASP MVC Route问题用点“。”

时间:2012-05-22 12:51:36

标签: asp.net-mvc routes

我有这条路线:

  

文件{FILEID} / {名称}

除非name中有一个点,否则它的效果非常好。

例如,这些工作:

  

file1 / blah,file90 / foo -

但它没有:

  

文件1 / blah.doc

我遇到的所有情况都是404 error。似乎它查找实际文件blah.doc而不是使用路由系统。

此问题仅在生产服务器中发生。我甚至试过

  

httpRuntime relaxedUrlToFileSystemMapping =“true”

但它没有帮助。

1 个答案:

答案 0 :(得分:1)

'。'之后的一切。是文件扩展名。如果该扩展未映射到ASP.NET,则不会将其传递给ASP.NET处理程序。 IIS会查找静态文件。因此,您需要为您的案例添加处理程序(web.config),然后您的路由将能够捕获请求。

<validation validateIntegratedModeConfiguration="false" />
   <handlers>
      <add name="FileHandlerDot" verb="GET" path="file*/*.*" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
   </handlers>
</validation>