首页 新闻 会员 周边 捐助

.NET Core 3.0 SqlClient Timeout expired 问题

0
悬赏园豆:50 [待解决问题]

日志中有时会出现下面的错误,请问是什么原因引起的?

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)
dudu的主页 dudu | 高人七级 | 园豆:29570
提问于:2019-09-21 14:37
< >
分享
所有回答(3)
0
张朋举 | 园豆:1936 (小虾三级) | 2019-09-21 16:09
0

我也遇到这问题了,解决了没

gaojiandong | 园豆:194 (初学一级) | 2020-01-19 10:58

试试升级 SqlClient 至最新版本,参考 .net core 3.1 数据库访问报错,线程池不足中的回复:

是sqlclient的原因,sqlclient 4.7以下版本在linux环境下,高并发下线程池只会创建十几个线程,后面直接卡死,报线程池不足不可以,换高版本后,可以解决

支持(0) 反对(0) dudu | 园豆:29570 (高人七级) | 2020-01-19 11:24
0

虽然我来的晚了,但是我想造福后人呀,我的core2.2 ubuntu 20 ,使用的解决方式是,在
startup.cs 中初始化线城市解决了,大概是因为启动服务时候并发太大造成的线程不足导致的

        if (ThreadPool.SetMinThreads(32, 32))
        {
            Parallel.For(0, 32, a => Thread.Sleep(100));
        }
Myisqq | 园豆:95 (初学一级) | 2020-10-09 18:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册