我正在使用 MVC4,需要将这样的请求路由到控制器:
[myapp]/data/fileinfo.xml
这是我配置的路线:
routes.MapRoute(
name: "Data",
url: "Data/{file}",
defaults: new { controller = "Data", action = "fileinfo"}
);
现在,如果 URL 不包含 .xml 扩展名,这工作得非常好,并将请求路由到我的 DataController,但是一旦使用扩展名,IIS 就会尝试提供一个静态文件(而不是路由到我的控制器),我得到一个 404 错误。
我已经在网上阅读了大量关于这个问题的问题/答案,但我尝试过的每个解决方案都失败了。
例如,我RouteExistingFiles = true
在配置我的RouteCollection时尝试过使用,并且我<modules runAllManagedModulesForAllRequests="true" />
在web.config中添加了,但无济于事。
如果有人知道我应该尝试什么或我可能缺少什么,将不胜感激。我正在使用 asp.Net 4.5、VS 2012 和 IIS 8.0。