asp.net – 在Web API中获取匹配的路由名称
发布时间:2020-05-28 14:19:36 所属栏目:asp.Net 来源:互联网
导读:在我的Web API处理程序中,我需要获取与请求匹配的路由的名称. public class CurrentRequestMessageHandler : DelegatingHandler{ protected override TaskHttpResponseMessage SendAsync(HttpRequestMessage request, CancellationTok
|
在我的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 Identity 2.0迁移到3.0
- 确定ASP.NET中是否启用了Cookie的最佳方式?
- 如何配置ASP.NET OutputCache与http vs https不同?
- asp.net-mvc – 将DTO转换为ViewModel的位置?
- asp.net – 强制IIS快速到经典管道模式
- asp.net-mvc – 使用SharpDevelop构建ASP.NET MVC应用程序的
- ASP.NET MVC中引用JavaScript的正确方法?
- asp.net – 如何快速进行HTML渲染
- asp.net – 为什么Request.Cookies在foreach循环中返回字符
- asp.net-mvc-3 – MVC3和认证
推荐文章
站长推荐
- 使用ASP.Net webforms和MVC进行Ninject
- 是否可以在.NET中将WinForm转换为WebForm?
- asp.net – 使用ASPNet_Regiis加密自定义配置部分
- 任何使用ASP.Net AJAX和JQuery的缺点
- asp.net – 如何在Entity框架中添加表?
- ASP.NET中的%%(嵌入式代码块)
- asp.net-mvc – .NET MVC MultiSelectList和选定
- ASP.NET – C#vs VB.NET – 间接差异和您最初可能
- asp.net – 页面查看计数器像StackOverFlow
- 处理用户在ASP.NET MVC网站中点击“Enter”键
热点阅读
