asp.net-mvc – 在MVC4中路由具有扩展名的url将无法正常工作,尝
我使用MVC4,需要将这样的请求路由到控制器:
[MYAPP] /data/fileinfo.xml 这是我配置的路由: routes.MapRoute( name: "Data",url: "Data/{file}",defaults: new { controller = "Data",action = "fileinfo"} ); 现在,如果URL不包含.xml扩展名,这样就可以将请求发送到我的DataController,但一旦使用扩展名,IIS会尝试提供一个静态文件(而不是路由到我的控制器),而且得到404错误. 我已经在线阅读了关于这个问题的大量问题/答案,并且我尝试的每个解决方案都失败了. 例如,我在配置我的RouteCollection时尝试使用RouteExistingFiles = true,并且我添加了< modules runAllManagedModulesForAllRequests =“true”/>在web.config中,但无效. 如果任何人有一个想法,我应该尝试什么或我可能会失踪,这将是非常感谢.我使用的是asp.Net 4.5,VS 2012和IIS 8.0. 解决方法
您可以将其添加到< system.webServer>< handlers>中的web.config中.部分:
<add name="ManagedDllExtension" path="data/fileinfo.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 你的路线是 routes.MapRoute( name: "Data",url: "Data/fileinfo.xml",action = "fileinfo"} ); 还有< modules runAllManagedModulesForAllRequests =“true”>但它似乎不适用于MVC4 / IIS8(曾经在MVC3 / IIS7 IIRC中).更多信息here.还有一个性能影响这一个,因为每个请求将路由通过管理的管道. HTH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何在ApiController构造之后但在执行动作之
- RavenDB ASP.NET会话提供程序?
- IIS 7.5中未显示任何ASP.NET功能
- 如何在ASP.NET中的多个子域中共享会话?
- asp.net – 是否有任何.NET标准用于处理本地化但允许用户自
- asp.net-mvc – 在OnActionExecuting事件中更改模型
- Asp.net中的下拉列表验证使用必需字段验证器
- asp.net-mvc – ASP.NET MVC 3:RouteExistingFiles = true
- asp.net – Web发布的密码不同于我的Azure管理员密码?
- ASP.NET MVC4异步聊天室的示例代码
- asp.net – 为什么页脚项目不包含在Repeater.Ite
- asp.net – IIS 7 – IIS中的身份验证与web.conf
- asp.net-mvc – 从asp.net mvc控制器返回一个js文
- asp.net-mvc – Active Directory安全组和用户角
- asp.net-mvc-3 – 带有Npgsql和Entity Framework
- 有没有人对ASP.NET WebFormsMVP有所了解?
- asp.net – 什么Jenkins插件可以用于.NET网站部署
- 在asp.net按钮中添加图像和文本
- asp.net-mvc – 使用LINQ从MVC调用存储过程而不指
- DevExpress v17.2新版亮点—ASP.NET篇(二)