Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.

问题说明:

在.Net Core 3.0中进行了很多方面升级,常见错误之一:

Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.

 

出现错误的原因:

在.Net Core 3.0版本中,默认同步读取请求流 为 异步方式,默认不支持同步读取。

代码说明:

              using (StreamReader sr = new StreamReader(Request.Body, Encoding.UTF8))
                    {
                        //string content = sr.ReadToEnd();  //.Net Core 3.0 默认不再支持
                        string content = sr.ReadToEndAsync().Result;

 

解决方案:

1.使用异步读取请求上下文

 string content = sr.ReadToEndAsync().Result;

2.在配置中开启同步读取流操作

  //配置可以同步请求读取流数据
            services.Configure<KestrelServerOptions>(x => x.AllowSynchronousIO = true)
                .Configure<IISServerOptions>(x => x.AllowSynchronousIO = true);

 

更多:

asp.netCore3.0区域和路由配置变化

在Asp.Net Core 3.0中如何使用 Newtonsoft.Json 库序列化数据  

Asp.Net Core Cookie使用,Asp.net Core Cookie操作失效 

 

posted @   天马3798  阅读(8090)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2019-04-02 Javascript 字符串(一)常见函数使用
2017-04-02 SVG.js Marker标记和自定义标签
点击右上角即可分享
微信分享提示