最近在做mvc项目,边学边做,开发时遇到一个问题,记录于此。
开发平台:win7, visual studio2013
为搜索引擎提供sitemap数据,扩展名要求为.xml,我就尝试在路由表里加了如下一段,会报404错误,而在同事的电脑上就可以正常访问。
routes.MapRoute(
name: \"Default\",
url: \"{controller}/{action}/{id}.xml\",
defaults: new { controller = \"Home\", action = \"Index\", id = UrlParameter.Optional }
);
最后检查下来是创建mvc项目的版本不同,同事默认的是asp.net Framework4.0,我的是Framework4.5,两个版本对于扩展url的请求处理不同。
asp.net Framework.jpg
对于Framework4.5,要在web.config加上runAllManagedModulesForAllRequests=\”true\”,就能转到指定的action。即对于所有的请求,都会检查,包括.css, .js, .jpg等。