首页 > Web开发 > 详细

.net core 3.0 在过滤器读取request.body 里的请求,controller[FromBody]读取不到参数,解决办法

时间:2019-12-07 16:52:58      阅读:656      评论:0      收藏:0      [点我收藏+]
原文:.net core 3.0 在过滤器读取request.body 里的请求,controller[FromBody]读取不到参数,解决办法

1,注入IHttpContextAccessor httpContex

2,var req = _httpContext.HttpContext.Request;

  //  这句很重要,开启读取 否者下面设置读取为0会失败

  req.EnableBuffering();


  using (var reader = new StreamReader(_httpContext.HttpContext.Request.Body, Encoding.UTF8, true, 1024, true))
  {
    var a = await reader.ReadToEndAsync();
    id = JsonConvert.DeserializeObject<View>(a).Id;
  }

  // 这里读取过body  Position是读取过几次  而此操作优于控制器先行 控制器只会读取Position为零次的

  req.Body.Position = 0;

.net core 3.0 在过滤器读取request.body 里的请求,controller[FromBody]读取不到参数,解决办法

原文:https://www.cnblogs.com/lonelyxmas/p/12002106.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!