ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySql.Data.MySqlClient.MySqlProtocolException:“Packet received out-of-order. Expected 1; got 2.”

2020-01-06 17:03:56  阅读:1012  来源: 互联网

标签:received 异步 await MySqlClient Packet order out


环境为:

dotnet core 3.1 webapi efcore

maridb 10

Pomelo.EntityFrameworkCore.MySql

解决方案:

await _context.SaveChangesAsync();

异步操作要加await,不然会出现此异常。

参考:https://github.com/mysql-net/MySqlConnector/issues/496

It is not permitted to have multiple in-flight async operations on the same connection at the same time; you do have to await any existing operation before starting a new one.
However, you should also get a more helpful exception message (better than Packet received out-of-order) that helps you understand the problem and fix it. So if you are able to get a repro or a code sample that shows the problem, that would be good as it could help me identify where there is a missing check (for this invalid behaviour) in the code.
不允许同时在同一连接上进行多个进行中异步操作;您必须await任何现有的异步操作然后再开始一个新的操作。
但是,您还应该获得一条更有用的异常消息(比Packet received out-of-order这有助于你理解并解决问题。因此,如果您能够获得显示问题的repro或代码示例,那将是很好的,因为它可以帮助我识别代码中缺少检查(这种无效行为)的位置。

标签:received,异步,await,MySqlClient,Packet,order,out
来源: https://www.cnblogs.com/OnlyDreams/p/12157199.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有