请求与响应
小于 1 分钟
请求与响应
HttpContext
- HttpContext 封装了 HTTP 请求和响应的所有信息。
HttpContext
实例可通过中间件和应用框架(如 Web API 控制器、Razor Pages、SignalR、gRPC 等)访问。- 在 ASP.NET Core 中使用 HttpContext
- 主要成员:
- HttpContext.Request 提供对 HttpRequest 的访问
- HttpContext.Response 提供对 HttpResponse 的访问
流与管道
- 请求正文和响应正文有两个抽象元素:Stream 和 Pipe
HttpRequest.Body
为Stream
,HttpRequest.BodyReader
为PipeReader
HttpResponse.Body
为Stream
,HttpResponse.BodyWriter
为PipeWriter
- 官方推荐使用管道:管道代码更简单、效率更高
- 示例见官方文档:https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/middleware/request-response?view=aspnetcore-7.0
- 如果将
HttpRequest.Body
设置为新流,则HttpRequest.BodyReader
将自动设置为包装HttpRequest.Body
的新PipeReader
。