【发布时间】:2013-05-07 19:44:52
【问题描述】:
有什么方法可以从在 Web API 上下文中运行的服务方法(控制器外部)静态获取路由值?例如,我可以在 ASP.NET MVC 中执行以下操作:
var mvcHandler = HttpContext.Current.Handler as MvcHandler;
var routeValues = mvcHandler.RequestContext.RouteData.Values;
我想为 Web API 找到此代码的等效版本。
当我尝试调试示例 Web API 请求并查看 HttpContext.Current.Handler 时,它的类型为 HttpControllerHandler,但此类型没有任何属性来访问路由数据。
编辑
尝试帮助提供更多信息。我试图从中读取值的代码位于我拥有的为我的应用程序构建自定义对象的工厂类中。
【问题讨论】:
-
Kyle,请您为我们发布代码的 Web API 版本吗?
-
这就是我想要弄清楚的:)
-
你的意思是你做了'使用 System.Web.Http; var handler = Http.Current.Handler' 发现是HttpControllerHandler?
-
是的,这就是我发现的。
-
您是否尝试过
Routes对象上的Routes属性,或者这也不是正确的上下文
标签: asp.net-web-api asp.net-web-api-routing