我需要一种尝试多次更新表的方法。这是我第一次尝试。
void UpdateSomeSQLRows(uint retryCount = 3)
{
try
{
// Some Code
}
catch (Exception e)
{
retryCount--;
if (retryCount != 0)
UpdateSomeSQLRows(retryCount);
}
}
它是否可以使用本机 Microsoft sqlclient 弹性地进行 sql 更新?
有一个名为 Poly 的库可以很好地做到这一点,并具有许多高级功能。这还会在最后一次重试尝试后将异常传播到调用函数,而不是静默失败,并且还会在每次尝试之间增加延迟。
internal class Program
{
private static Policy retrySqlPolicy =
Policy
.Handle<Exception>()
.WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(2));
static void Main(string[] args)
{
UpdateSomeSQLRows();
}
static void UpdateSomeSQLRows()
{
retrySqlPolicy.Execute(() =>
{
// Some Code
});
}
}