bao*_*uss 0 entity-framework-core azure-sql-database
我将 EF Core 与我的一个应用程序一起使用来查询 Azure Sql 数据库。它是无服务器 SKU,在 1 小时不活动后缩减至零(进入睡眠状态)。
现在,在该应用程序中,有预定的功能可以在某些时间点查询数据库。这通常是在数据库休眠的时候。为了弥补这一点,我在 DbContext.cs 中使用以下内容
optionsBuilder.UseSqlServer(connection, opt => opt.EnableRetryOnFailure(
maxRetryCount: 20,
maxRetryDelay: TimeSpan.FromSeconds(30),
errorNumbersToAdd: null
));
Run Code Online (Sandbox Code Playgroud)
如果延迟均匀分布,则平均为 15 秒,重试 20 次 => 5 分钟后超时。
我认为这应该足够了,因为当使用 SSMS 查询睡眠数据库时,通常需要不到 1 分钟才能开始。然而,事实并非如此,函数经常超时并且查询失败。
有没有比增加超时更好的方法来解决这个问题?5分钟真的不够吗?
干杯
我想我现在已经开始工作了。上述来自 EF core 的代码片段与任何发生的情况都相关command timeout。然而,由于数据库在请求期间处于休眠状态,这是一个相当大的connection timeout问题。我通过添加Connect Timeout=120连接字符串本身解决了这个问题。
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |