asp.net – 在Web API中获取匹配的路由名称
发布时间:2020-12-16 04:27:26 所属栏目:asp.Net 来源:网络整理
导读:在我的Web API处理程序中,我需要获取与请求匹配的路由的名称. public class CurrentRequestMessageHandler : DelegatingHandler{ protected override TaskHttpResponseMessage SendAsync(HttpRequestMessage request,CancellationToken cancellationToken) {
在我的Web API处理程序中,我需要获取与请求匹配的路由的名称.
public class CurrentRequestMessageHandler : DelegatingHandler { protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,CancellationToken cancellationToken) { var route = request.GetRouteData().Route; //now what? return base.SendAsync(request,cancellationToken); } } 解决方法
目前,无法在Web API中检索路由的路由名称.您可以查看HttpRouteCollection源代码
here以获取更多详细信息.如果您的方案确实需要路由名称,则可以在路由的数据标记中插入路由名称. (请注意,当前属性路由不提供访问数据令牌的方法)
更新 – 2014年6月23日 config.MapHttpAttributeRoutes(new CustomDefaultDirectRouteProvider()); public class CustomDefaultDirectRouteProvider : DefaultDirectRouteProvider { public override IReadOnlyList<RouteEntry> GetDirectRoutes(HttpControllerDescriptor controllerDescriptor,IReadOnlyList<HttpActionDescriptor> actionDescriptors,IInlineConstraintResolver constraintResolver) { IReadOnlyList<RouteEntry> coll = base.GetDirectRoutes(controllerDescriptor,actionDescriptors,constraintResolver); foreach(RouteEntry routeEntry in coll) { if (!string.IsNullOrEmpty(routeEntry.Name)) { routeEntry.Route.DataTokens["Route_Name"] = routeEntry.Name; } } return coll; } } 像这样访问它:reequest.GetRouteData().Route.DataTokens [ “ROUTE_NAME”] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 为什么FireFox在下载文件时不包含.xml扩展名?
- asp.net-mvc – 概念类型中的成员数量不匹配 – 但确实如此
- asp.net-mvc – 在Azure Active Directory B2C中按组授权
- asp.net – 如何以编程方式将参数传递给SSRS报告
- asp.net – Autofac实例注册的SingleInstance()能否在IIS A
- asp.net-mvc-3 – MVC 3.0 RC创建新项目空引用错误
- 我如何开始用asp.net学习jquery?
- asp.net – Azure Web角色 – 长时间运行请求(负载均衡器超
- asp.net – Web API服务 – 如何在异步任务中使用“HttpCon
- asp.net – 使用IIS和ASP .Net实现负载均衡
推荐文章
站长推荐
- asp.net-mvc – Active Directory安全组和用户角
- asp.net – 保护SQL Server 2008R2数据库
- asp.net-mvc – 自定义WIF请求验证器无限循环
- asp.net-web-api – 在WebApi2帮助页面中启用文档
- asp.net-mvc – 图像URL中的&符号MVC导致一个
- asp.net-web-api – 无法使MVC4 WebApi包含JSON中
- asp.net-mvc-3 – MVC 3:AutoMapper和项目/解决
- asp.net-core – 如何在Entity Framework Core中
- Asp.net核心2采用角度6模板
- asp.net-mvc-3 – 在Application_Start中访问nin
热点阅读