コード例 #1
0
 public Polly.Policy[] CreatePolicies()
 {
     return(new Polly.Policy[]
     {
         Polly.Policy.Handle <DocumentClientException>(ex => ExceptionClassifier.IsTimeout(ex))
         .WaitAndRetry(5, (retry) => TimeSpan.FromSeconds(1 * retry)),
         Polly.Policy.Handle <DocumentClientException>(ex => ExceptionClassifier.IsTooManyRequests(ex))
         .WaitAndRetry(new [] { TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(2) }),
         Polly.Policy.Handle <DocumentClientException>(ex => ExceptionClassifier.IsServiceUnavaiable(ex))
         .WaitAndRetryForever(_ => TimeSpan.FromSeconds(2)),
         Polly.Policy.Handle <DocumentClientException>(ex => ExceptionClassifier.IsInternalServerError(ex))
         .Retry(1),
         Polly.Policy.Handle <StorageException>()
         .Retry(1)
     });
 }