小编use*_*698的帖子

在MVC4中使用扩展名路由URL将无法正常工作,尝试提供静态文件

我正在使用MVC4并且需要将这样的请求路由到控制器:

[myapp]/data/fileinfo.xml

这是我配置的路线:

routes.MapRoute(
            name: "Data",
            url: "Data/{file}",
            defaults: new { controller = "Data", action = "fileinfo"}
        );
Run Code Online (Sandbox Code Playgroud)

现在,如果URL不包含.xml扩展名,这可以正常工作并将请求路由到我的DataController,但是一旦使用扩展名,IIS就会尝试提供静态文件(而不是路由到我的控制器)和I得到404错误.

我已经在线阅读了大量有关此问题的问题/答案,而且我尝试过的每个解决方案都失败了.

例如,我RouteExistingFiles = true在配置我的RouteCollection时尝试使用,我已经<modules runAllManagedModulesForAllRequests="true" />在web.config中添加了,但无济于事.

如果有人知道我应该尝试什么或者我可能会缺少什么,那将非常感激.我正在使用asp.Net 4.5,VS 2012和IIS 8.0.

iis asp.net-mvc static asp.net-mvc-routing

13
推荐指数
1
解决办法
5809
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-routing ×1

iis ×1

static ×1