我需要一个尝试多次更新表的方法。这是我的第一次尝试。
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 }); } }