问题描述
我有一个带有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 (将#修改为@)