asp.net-mvc – 捕获文件名作为参数的MVC路由
发布时间:2020-12-16 04:21:23 所属栏目:asp.Net 来源:网络整理
导读:我试图使用MVC生成一个简单的WebDAV服务器,我终于到了需要向用户提供所请求文件的阶段. 我有一个路由设置,处理遍历目录结构“webdav / {* path}”,它工作正常,直到该路径以文件名结束.此时,似乎IIS确定它是静态文件,并尝试从磁盘提供该文件.由于它不在URL中
我试图使用MVC生成一个简单的WebDAV服务器,我终于到了需要向用户提供所请求文件的阶段.
我有一个路由设置,处理遍历目录结构“webdav / {* path}”,它工作正常,直到该路径以文件名结束.此时,似乎IIS确定它是静态文件,并尝试从磁盘提供该文件.由于它不在URL中指定的位置,因此返回404错误. 我没有任何更改URL的自由,我基本上需要它在表单中,否则Windows资源管理器无法使用它作为映射驱动器: GET /webdav/Test/Test2.txt 我已经设置了贪婪匹配的路由,因为目录结构可以有多个级别.我也设置了routes.RouteExistingFiles = true; 这是在我的开发机器上使用IIS Express 8.0. 我已经设置了一个空白的MVC项目来测试它,这就是RegisterRoutes方法: routes.RouteExistingFiles = true; routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "WebDAVGet",url: "webdav/{*path}",defaults: new { controller = "WebDAV",action = "Get",path = "" }); routes.MapRoute( name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional } ); 所以,转到/ webdav / Test / Test2命中我的控制器中的断点,但是去/webdav/Test/Test2.txt给我一个404. 有什么建议? 解决方法
另一种选择是将其添加到< system.webserver> web.config中的节点:
<modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> </modules> 我可以保证这适用于IIS 7.5. 为了记录,我发现了这个解决方案here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 当要复制的lob数据的插入长度超过配置的最大值6
- asp.net – IIS 7忽略没有文件扩展名的MapPageRoute
- asp.net – 从Web API的承载令牌返回用户角色
- 使用webforms的ASP.NET中的静态和动态控件之间有什么区别
- 勾选复选框时,禁用一些ASP.Net验证控件
- asp.net-mvc-3 – 使用Ajax.BeginForm工作的mvc 3局部视图(
- asp.net-mvc – 如何在ASP.NET MVC 2中使用模型绑定器的DI
- 将asp.net应用程序移植到天蓝色有多大挑战?
- ASP.NET本地化
- asp.net-mvc – ASP.NET MVC应用程序中丰富的UI可用的最佳选
推荐文章
站长推荐
- 如何确定asp.net网址是否已被“重写”?
- asp.net-mvc-3 – 使用ViewModel和html类属性设置
- asp.net-mvc-3 – 在MVC3中使用Page.User.Identi
- asp.net-mvc – 没有html值的Razor属性
- asp.net 结合mysql存储过程进行分页代码
- asp.net – 在ASP MVC3中,如何使用uri执行控制器
- Oracle 时间字段显示不正确,类型错误
- asp.net – 添加新行到datatable的顶部
- asp.net – 将unicode数字从英语转换为devanagar
- (18)ASP.NET Core 基于现有数据库创建EF模型(
热点阅读