我在 VS2010/.NET 4/MVC3 中工作的路线似乎在 VS2012 和 .NET 4.5 中被破坏(尽管仍然使用 MVC3)。
以前我有这样的路线:-
routes.MapRoute("TMS", "{controller}/{action}/{id}.{extension}");
已成功匹配 uri:
/Test/Test/tile.png
它调用了以下Test
操作TestController
:-
public ActionResult Test(string id, string extension)
使用 id = "tile" 和 extension="png"。
然而,在 VS2012 的一个相同项目中,尽管使用 .NET 4.5,但由于路由不匹配,我得到了 404。将句点更改为路由中的 / 和 uri 会导致路由匹配并调用操作,但这还不够好 - 我需要在路由中设置那个句点,就像以前工作的那样(因为这个动作是设计的将磁贴作为 TMS 服务器提供服务;URL 格式是一种 API)。
有没有人遇到过这样的问题?
<httpRuntime relaxedUrlToFileSystemMapping="true"/>
根本没有帮助。