Это наша политика.
Policy GetNewPolicy()
{
return Policy.Handle<TimeoutException>()
.Or<WebSocketException>()
.Or<SshConnectionException>()
.Or<SocketException>()
.Retry(RetryCount, onRetry: (e, i) => Console.WriteLine($"Retry{i} due to {e.GetType().Name} "));
}
И это пример того, как один из наших клиентов взаимодействует с ним:
var policy = GetNewPolicy();
return policy.Execute(() =>
{
//do stuff that might throw SocketException
});
Но политика, кажется, не повторяется, когда мы проверяем наши журналы, мы видимв них действительно генерируется SocketException, но повторных попыток не производится.Этот код выполняется в интерфейсе командной строки через задание агента SQL.
Вот скриншот созданного журнала.