码迷,mamicode.com
首页 > Web开发 > 详细

.net core 3.1在读取 Request.Body时不支持 Request.Body.Position = 0的设置

时间:2020-12-02 12:19:35      阅读:11      评论:0      收藏:0      [点我收藏+]

标签:修复   adt   stream   using   span   需要   request   col   多次   

 ASP.NET Core 中的 Request.Body 虽然是一个 Stream ,但它是一个与众不同的 Stream —— 不允许 Request.Body.Position=0 ,这就意味着只能读取一次,要想多次读取,需要借助 MemoryStream 

在 .net core 3.0中修复了这个问题,只要启用倒带功能,就可以让  Request.Body 回归正常 Stream 。

需要引入程序集:Microsoft.AspNetCore.Http

使用方式:

        private string GetHttpBody()
        {
            Request.EnableBuffering();
            Request.Body.Position = 0;
            using (var reader = new StreamReader(Request.Body))
            {
                return reader.ReadToEnd();
            }
        }

 

.net core 3.1在读取 Request.Body时不支持 Request.Body.Position = 0的设置

标签:修复   adt   stream   using   span   需要   request   col   多次   

原文地址:https://www.cnblogs.com/yxcn/p/14049349.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!