日志中有时会出现下面的错误,请问是什么原因引起的?
System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
---> System.ComponentModel.Win32Exception (258): Unknown error 258
at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__126_0(Task`1 result)
查询太大了了吧,
ConnectionTimeout 、CommandTimeout
我也遇到这问题了,解决了没
试试升级 SqlClient 至最新版本,参考 .net core 3.1 数据库访问报错,线程池不足中的回复:
是sqlclient的原因,sqlclient 4.7以下版本在linux环境下,高并发下线程池只会创建十几个线程,后面直接卡死,报线程池不足不可以,换高版本后,可以解决
虽然我来的晚了,但是我想造福后人呀,我的core2.2 ubuntu 20 ,使用的解决方式是,在
startup.cs 中初始化线城市解决了,大概是因为启动服务时候并发太大造成的线程不足导致的
if (ThreadPool.SetMinThreads(32, 32))
{
Parallel.For(0, 32, a => Thread.Sleep(100));
}