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

C# 在WebAPI构造函数中访问请求(HttpRequestMessage),c#,asp.net-web-api,C#,Asp.net Web Api,我需要在ApicController的构造函数中访问请求(类型为HttpRequestMessage)。不幸的是,在对象创建的这个阶段,Request属性尚未初始化,HttpContext.Current.Request包含“旧”类格式(HttpRequest)的请求 在控制器构造期间,是否有方法访问HttpRequestMessage 谢谢。虽然您无法访问构造函数中的Http请求,但可以使用。下面是通过此方法访问Http请求对象的代码 受保护覆盖无效初始化(HttpControllerCont

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

在控制器构造期间,是否有方法访问HttpRequestMessage


谢谢。

虽然您无法访问构造函数中的Http请求,但可以使用。下面是通过此方法访问Http请求对象的代码

受保护覆盖无效初始化(HttpControllerContext controllerContext)
{
var request=controllerContext.request;
初始化(controllerContext);
}
我遇到了这样一种情况:在调用任何函数之前,我需要JWT令牌,而这个解决方案对我来说效果很好


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

是否尝试为所有操作执行公共逻辑?如果是这样的话,动作过滤器更适合于这种情况。我想从http头中提取信息以初始化控制器的某些属性。您能否提供一个示例,说明您正在尝试完成的任务,可能有更好的方法来完成此任务?@mberube.Net您找到解决方案了吗?迈克·希恩:不,不幸的是,我不得不改变我的设计。如果有人能为将来的项目找到解决方案,我会很高兴。我正试图访问控制器构造函数中的一个请求属性。有了这个技巧,我可以在Initialize方法的重写中访问该属性,一切都很好。