在WebAPI构造函数中访问请求(HttpRequestMessage)

时间:2014-07-11 19:59:47

标签: c# asp.net-web-api

我需要在ApiController的构造函数中访问请求(类型为HttpRequestMessage)。不幸的是,在对象创建的这个阶段,Request属性尚未初始化,HttpContext.Current.Request包含“旧”类格式(HttpRequest)的请求。

在控制器构建期间有没有办法访问HttpRequestMessage?

感谢。

1 个答案:

答案 0 :(得分:2)

虽然您无法在构造函数中访问Http请求,但可以使用Initialize method来访问它。这是通过此方法访问Http Request对象的代码

protected override void Initialize(HttpControllerContext controllerContext)
{
   var request = controllerContext.Request;

   base.Initialize(controllerContext);
}

我遇到了这样的情况,在调用任何函数之前我需要JWT令牌,并且该解决方案对我来说效果很好。

注意:确保包含base.Initialize(controllerContext);以避免运行时错误。