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

标签 c# asp.net-web-api

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

有没有办法在 Controller 构造期间访问 HttpRequestMessage?

谢谢。

最佳答案

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

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

   base.Initialize(controllerContext);
}

我遇到过在调用任何函数之前需要 JWT token 的情况,这个解决方案对我来说效果很好。

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

关于c# - 在 WebAPI 构造函数中访问请求 (HttpRequestMessage),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24705600/

相关文章:

asp.net-web-api - 在Web Api 2中将Url.Link与属性路由一起使用

c# - OData v4 自定义函数

dependency-injection - MVC 4 和 Unity,向 WebAPI Controller 注入(inject)依赖项

c# - 流利地设置 C# 属性和链接方法

c# - 如何编写正则表达式来捕获没有链接文本的链接?

c# - Elastic Search .NET Core 对 Post 的低级别调用不成功

c# 无法创建 InlineKeyboardButton

c# - WPF/WinForms/GDI 互操作 : converting a WriteableBitmap to a System. Drawing.Image?

c# - 获取错误 "The ' targetFramework' 属性当前引用的版本高于已安装的 .NET Framework 版本”

xml - 如何从 Web API 方法返回 Xml 数据?