.net 5 从 HttpRequest 中检索 HttpRequestMessage

Posted

技术标签:

【中文标题】.net 5 从 HttpRequest 中检索 HttpRequestMessage【英文标题】:.net 5 retrieve HttpRequestMessage from HttpRequest 【发布时间】:2021-12-12 03:20:27 【问题描述】:

我正在做一个概念验证,将我们旧的 .Net 框架服务转换为 .Net Core Web Api 服务。

我们正在使用 StrathWeb 的 AspNetCore.CacheOutput 继任者。我们现在有一个 CacheOutputOverrideAttribute 类和一个带有签名的 OnActionExecuting 方法

public override void OnActionExecuting(ActionExecutingContext context)

原始代码具有以下签名。使用 actionContext.Request 很容易从中获取 HttpRequestMessage。

public override void OnActionExecuting(HttpActionContext actionContext)

在旧代码中,有几行代码使用了 HttpRequestMessage,如下所示。

var config = actionContext.Request.GetConfiguration();

现在,我只能访问 HttpResponse 而不是 HttpResponseMessage。有没有办法从 HttpResponse 中转换和提取 HttpResponseMessage?

我应该使用其他路径吗?

谢谢,

【问题讨论】:

你需要 HttpResponseMessage 做什么?我认为您不需要它只是为了 HttpResponseMessage 。您需要提取什么样的信息? 【参考方案1】:

在 ASP.NET Core 中没有 HttpResponseMessage/HttpRequestMesssage 或基本实现。只有HttpResponse/HttpRequest。与旧的 ASP.NET 不同,这些新类型具有可扩展性。

【讨论】:

以上是关于.net 5 从 HttpRequest 中检索 HttpRequestMessage的主要内容,如果未能解决你的问题,请参考以下文章

从 ASP.NET MVC 项目调用 .NET CORE 5 Web API 微服务时无法检索 BadRequest 错误

HttpRequest 和HttpWebRequest的区别

HttpRequest 和HttpWebRequest的区别

Parse.Cloud.httpRequest 使用 POST 方法返回“未定义”而不是响应

如何使用 json 从 sql server ASP.net 中检索数据

从 Microsoft.AspNetCore.Http.HttpRequest 获取原始 URL