Nil*_*Pun 15 c# sql entity-framework azure-sql-database
有人可以指导我如何使用EF到SQL Azure实现重试策略.
我使用的是Transiet故障处理框架,由EF团队提供更好的解决方案.
var retryPolicy = new RetryPolicy<SqlAzureTransientErrorDetectionStrategy>(
10,
TimeSpan.FromSeconds(0.5),
TimeSpan.FromSeconds(2)
) { FastFirstRetry = true };
Run Code Online (Sandbox Code Playgroud)
context. using(var context = new ... )
{
...//Maybe you do something to the database...
retryPolicy.ExecuteAction(() => context.SaveChanges());
}
Run Code Online (Sandbox Code Playgroud)
此 Azure 论坛主题包含一些涵盖该主题的优质资源的链接。似乎还没有任何“官方”消息。但有一些开源项目可以为您提供一个良好的开端。
从答案来看:
我个人没有使用博客提到的库。相反,我能够使用一个带有 TRY/CATCH 的简单 WHILE 循环来监视可以安全重试的特定 SQL EXCEPTION 错误号。还有一个计数器,基本上可以防止它永远“重试”。
| 归档时间: |
|
| 查看次数: |
5668 次 |
| 最近记录: |