EF Core SQL Server连接中的命令超时错误

问题描述

我有一个带有EF Core的ASP.NET Core Web API,用于数据库访问。在生产中,某些sql命令由于超时而失败。

执行DbCommand失败(30,188ms)[Parameters = [@__ country_0 ='?' (大小= 4000)],CommandType ='文本',CommandTimeout = '30']

错误消息中,CommandTimeout是30秒。因此,它在30秒后失败。

但是,连接字符串和代码中的dbContext都将超时设置为600s。

连接字符串:

Server=sqlServer;Initial Catalog=Database1;Persist Security Info=False;User ID=user1;Password=1234;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=600;

在API控制器的构造函数中设置命令超时:

myDbContext.Database.SetCommandTimeout(600);

为什么忽略它,这30秒从何而来?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)