asp.net core读取request内容

在Startup.cs中定义Middleware,设置缓存Http请求的Body数据。代码如下。自定义Middleware请放到Configure方法的最前面。

cs 复制代码
app.Use(next => new RequestDelegate(
          async context => {
              context.Request.EnableBuffering();
              await next(context);
          }
      )); 

GET请求

cs 复制代码
HttpContext.Request.Query
//或者
HttpContext.Request.QueryString

POST请求

form

cs 复制代码
HttpContext.Request.Form

body

cs 复制代码
HttpContext.Request.Body

//过滤器中使用
public override async Task OnExceptionAsync(ExceptionContext context){
        var httpContext = context.HttpContext;
         var request = httpContext.Request;
         request.Body.Position = 0;
         StreamReader sr = new StreamReader(request.Body);
         string body = await sr.ReadToEndAsync();
         request.Body.Position = 0;
     }
 }

file

cs 复制代码
HttpContext.Request.Form.Files
相关推荐
赴前尘2 小时前
golang 查看指定版本库所依赖库的版本
开发语言·后端·golang
Marktowin8 小时前
Mybatis-Plus更新操作时的一个坑
java·后端
赵文宇9 小时前
CNCF Dragonfly 毕业啦!基于P2P的镜像和文件分发系统快速入门,在线体验
后端
程序员爱钓鱼9 小时前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
Libby博仙10 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
源代码•宸10 小时前
Golang原理剖析(Map 源码梳理)
经验分享·后端·算法·leetcode·golang·map
小周在成长10 小时前
动态SQL与MyBatis动态SQL最佳实践
后端
瓦尔登湖懒羊羊10 小时前
TCP的自我介绍
后端
小周在成长10 小时前
MyBatis 动态SQL学习
后端