asp.net-mvc – 区域内的Asp.Net MVC IgnoreRoute
如何忽略某个区域内的路线?
我在我的MVC应用程序中有验证码.它从GenericHanlder(.ashx)加载它的图像,所以如果我不使用区域它可以正常工作,如果我只是忽略来自该URL的路由. 即: routes.IgnoreRoute(Counts/{filename}.{ashx}/{*pathinfo});//Counts is the controller name without an area 问题是最近我将文件迁移到了不同??的区域,并且修改了要忽略的路径的路径.现在它: Admin/Acounts/Users/captcha.ashx?guid=3565465689789hfghfdf 所以我尝试在Global.asax中的routes.IgnoreRoutes方法中更改该路径: routes.IgnoreRoute(Admin/Acounts/Users/{filename}.ashx/{*pathinfo}); 但它不再起作用.我已经尝试在RegisterRerea方法中忽略该路由,在AreaRegistrationFile中: context.Routes.IgnoreRoute("Admin/Accounts/Users/{filename}.ashx/{*pathinfo}"); 但这也是最重要的工作. 任何想法如何忽略一个区域的路线? 解决方法
IgnoreRoute实际上只是对Add(new Route())的调用,Route的RouteHandler参数设置为新的StopRoutingHandler. StopRoutingHandler告诉URL路由模块忽略路由并获取下一行内联HttpHandler.
您知道路线注册对声明的顺序很敏感.我的猜测是你在其他路线已经捕获之后宣布你的IgnoreRoute. 如果这些信息对您没有帮助,请发布您的路线注册的全部内容,因为它们将帮助我们给您答案. 此外,如果您使用http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx提供的源代码来调试路由,则可以更轻松地找到问题的原因. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- MVVM(Knockout.js)的新尝试:多个Page,一个ViewModel
- asp.net – “值不能为null或为空.当ModelState出错时,返回
- asp.net-mvc – ASP.NET MVC 3远程验证允许原始值
- asp.net – 为什么我的动态添加控件会在Postback后松散它们
- .net – 扩展自定义成员资格提供程序
- asp.net – 503 – 服务器不可用 – .Net 2.0和4.0冲突
- asp.net-mvc – ASP.NET Core TestServer为Razor视图生成HT
- asp.net – 多重约束违反.关系“…”的角色“…”具有多重性
- asp.net-mvc – 在哪里提出持久性依赖的域事件 – 服务,存储
- asp.net-mvc-3 – ASP.NET MVC – 不同角色的菜单
- asp.net – 中等信任文件I / O权限
- asp.net – IIS 7.5无法打开处理程序映射?
- asp.net – 如何在转发器中绑定gridview?
- asp.net-mvc-3 – 在动作过滤器中获取动作参数的
- ASP.NET Core知多少(6):VS Code联调Angular +
- ASP.Net中的Vb6“Tag”属性等价物?
- asp.net-mvc-3 – 在LINQ Query中调用一个方法
- ASP.NET SessionID类型
- asp.net-mvc – 何时使用RedirectToAction和哪里
- asp.net-web-api – Hot Towel / Durandal / Bre