最近在做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的请求处理不同。
对于Framework4.5,要在web.config加上runAllManagedModulesForAllRequests="true",就能转到指定的action。即对于所有的请求,都会检查,包括.css, .js, .jpg等。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
2024 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123