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
相关推荐
MacroZheng19 分钟前
取代Navicat!全新一代数据库管理工具来了,超级智能!
java·后端·mysql
w***i29421 分钟前
Spring Boot实现定时任务
java·spring boot·后端
William_cl26 分钟前
【ASP.NET进阶】Controller 层 Action 核心:异步 Action(async Task)全解析
后端·asp.net
i***279533 分钟前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
Java编程爱好者39 分钟前
基于SpringAI构建大模型应用
后端
o***11141 小时前
SpringBoot线程池的使用
java·spring boot·后端
源码宝1 小时前
诊所门诊系统源码,采用SpringBoot+Vue2.0+MySQL技术栈开发,满足门诊部-诊所/中小型及连锁门诊搭建信息化平台
spring boot·后端·mysql·源码·门诊系统·医疗信息化·诊疗门诊
6***v4171 小时前
SpringBoot下获取resources目录下文件的常用方法
java·spring boot·后端
v***8571 小时前
解决Spring Boot中Druid连接池“discard long time none received connection“警告
spring boot·后端·oracle
陈随易1 小时前
MoonBit语法基础概述
前端·后端·程序员