每日踩坑 2018-09-29 .Net Core 控制器中读取 Request.Body

测试代码:

结果:

PostMan:

代码:

 1         private string GetRequestBodyUTF8String()
 2         {
 3             this.Request.EnableBuffering();
 4             this.Request.Body.Position = 0;
 5             Encoding encoding = System.Text.UTF8Encoding.Default;
 6             if (this.Request.ContentLength > 0 && this.Request.Body != null && this.Request.Body.CanRead)
 7             {
 8                 using (var buffer = new MemoryStream())
 9                 {
10                     this.Request.Body.CopyTo(buffer);
11                     buffer.Position = 0;
12                     var reader = new StreamReader(buffer, encoding);
13                     var body = reader.ReadToEnd();
14                     return body;
15                 }
16             }
17
18             return string.Empty;
19         }

原文地址:https://www.cnblogs.com/Aaxuan/p/9725232.html

时间: 2024-10-08 06:09:51

每日踩坑 2018-09-29 .Net Core 控制器中读取 Request.Body的相关文章

ASP.NET Core 中读取 Request.Body 的正确姿势

ASP.NET Core 中的 Request.Body 虽然是一个 Stream ,但它是一个与众不同的 Stream —— 不允许 Request.Body.Position=0 ,这就意味着只能读取一次,要想多次读取,需要借助 MemoryStream ,详见博问 asp.net core中2次读取Request.Body的问题 using (var buffer = new MemoryStream()) { Request.Body.CopyTo(buffer); buffer.Pos

每日踩坑 2018-06-19 AutoMapper简单性能测试

想使用 AutoMapper 类库来做一些映射到 DTO 对象的操作 但既然类似这样的类库内部是用反射来实现的,那么会比较在意性能. 所以来简单测试一下性能. 关于测试结果呢 emmmm 我是比较吃惊的,这个吃惊有两个,一个是它居然这么快,然后它居然这么慢.(手动狗头 反正挺吃惊的. 原文地址:https://www.cnblogs.com/Aaxuan/p/9206185.html

每日踩坑 2018-11-26 MVC Razor ActionLink 生成的URL中多生成了一个参数 ?length=n

RouteConfig 的路由注册如下: routes.MapRoute( name: "Default", url: "{controller}/{action}", defaults: new { controller = "Home", action = "Index" } ); Razor 代码: @Html.ActionLink(" 主页", "Index", "Ho

每日踩坑 2018-12-25 【Unable to convert MySQL date/time value to System.DateTime】异常

之前的公司一直是用 ORM ,所以底层的事情完全不用在意, 到了这家全是似乎全是 SQL 硬编码 所以也有机会重新去补补以前也没怎么写过的基本 ADO. 不过这两天总有自己写个简易ORM的想法在蠢蠢欲动. 这个异常的原因是 在读取 MySql 数据库时,如果存在字段类型为 date/datetime 时可能会出现以下问题“Unable to convert MySQL date/time value to System.DateTime” 因为我数据库这个字段设置成了非空字段, 该类型(date

每日踩坑 2018-01-09 WebAPI会如何面对 枚举 参数?

这一块确实有些疑问, 众所周知 枚举参数我们传送枚举值所对应的数字就行了, 以前 Leader 跟我讲过,枚举参数会将字符串值也能够成功转化,而且枚举值定义之外的数字也可以被转为枚举值. 主要的问题在于这后一句,如果定义之外的值能够被转换进去,那么我们是要多写些检查逻辑的. 枚举定义 public enum type { Unknow = 0, xxx = 1, yyy = 2, } 首先是 GET 方法,使用 URL 来传值. [HttpGet] [Route("api/test/getlis

每日踩坑 2019-08-22 Unity 依赖注入 未能为类选择构造函数

Unity会自动使用参数最多的构造函数来进行创建对象, 假如在这个类中有多个构造函数时,而我们要指定其中一个作为Unity进行创建对象则必需用到 [InjectionConstructor] 气死我了 怎么会有这么睿智的玩意, 明明都传 ParameterOverride 了, 居然不会根据参数匹配. 参考:https://www.cnblogs.com/wujy/p/3321478.html https://www.cnblogs.com/chinadeveloper/p/6184307.ht

redis从入门到踩坑

背景 Redis在互联网项目的使用也是非常普遍的,作为最常用的NO-SQL数据库,对Redis的了解已经成为了后端开发的必备技能.小编对Redis的使用时间不长,但是项目中确两次踩中了Redis的坑,今天特意从基础知识层面到实战层面对Redis知识进行梳理,能够达到对Redis的知识体系有更全面和深入的理解. Redis的特点 优点: Key-Value类型的内存数据库,是加强版的Memcached. 整个数据库都是在内存中进行操作的,并且定期异步持久化数据到硬盘上进行保存. 在内存中进行操作,

ASP.NET MVC升级到ASP.NET Core MVC踩坑小结

原文:ASP.NET MVC升级到ASP.NET Core MVC踩坑小结 写在前面 ASP.NET Core是微软新推出的支持跨平台.高性能.开源的开发框架,它的优势不必多说,因为已经说得太多了.当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大量的Break Changes,很多项目项目团队也不敢贸然升级,其中的考量也不全部是技术原因,更多的可能还是业务推进因素. 小编自年前开始考虑升级一套电商系统,原先是基于.NET Framework 4.5的,打算直接升级到

.NET Core 从1.1升级到2.0记录(Cookie中间件踩坑)

.NET Core 2.0 新时代 万众瞩目的.NET Core 2.0终于发布了,原定于9.19的dotnetconf大会的发布时间大大提前了1个月,.NET Core 2.0/.NET Standard 2.0的正式发布是.NET 开源跨平台的一个重大里程碑. .NET Core 2.0 SDK下载地址:https://www.microsoft.com/net/download/core#/sdk Visual Studio 2017 15.3下载地址:https://www.visual