コード例 #1
0
 public ISqlAsyncPolicyBuilder WithDefaultPolicies()
 {
     _policies.Add(AsyncPolicies.GetTimeOutPolicy(_overallTimeout, PolicyKeys.SqlOverallTimeoutAsyncPolicy));
     _policies.Add(AsyncPolicies.GetCommonTransientErrorsPolicies(RetryCount));
     _policies.AddRange(AsyncPolicies.GetCircuitBreakerPolicies(ExceptionsAllowedBeforeBreaking));
     return(this);
 }
コード例 #2
0
 public ISqlAsyncPolicyBuilder WithOverallAndTimeoutPerRetry(TimeSpan overallTimeout, TimeSpan timeoutPerRetry)
 {
     _policies.Add(AsyncPolicies.GetTimeOutPolicy(_overallTimeout, PolicyKeys.SqlOverallTimeoutAsyncPolicy));
     _policies.Add(AsyncPolicies.GetTimeOutPolicy(timeoutPerRetry, PolicyKeys.SqlTimeoutPerRetryAsyncPolicy));
     return(this);
 }
コード例 #3
0
 public ISqlAsyncPolicyBuilder WithTimeoutPerRetry(TimeSpan timeout)
 {
     _policies.Add(AsyncPolicies.GetTimeOutPolicy(timeout, PolicyKeys.SqlTimeoutPerRetryAsyncPolicy));
     return(this);
 }
コード例 #4
0
 public ISqlAsyncPolicyBuilder WithOverallTimeout(TimeSpan timeout)
 {
     _policies.Add(AsyncPolicies.GetTimeOutPolicy(timeout, PolicyKeys.SqlOverallTimeoutAsyncPolicy));
     return(this);
 }
コード例 #5
0
 public ISqlAsyncPolicyBuilder WithFallback(Func <Task> action)
 {
     _policies.Add(AsyncPolicies.GetFallbackPolicy(action));
     return(this);
 }
コード例 #6
0
 public ISqlAsyncPolicyBuilder WithCircuitBreaker(int exceptionsAllowedBeforeBreaking)
 {
     _policies.AddRange(AsyncPolicies.GetCircuitBreakerPolicies(ExceptionsAllowedBeforeBreaking));
     return(this);
 }
コード例 #7
0
 public ISqlAsyncPolicyBuilder WithTransaction()
 {
     _policies.Add(AsyncPolicies.GetTransactionPolicy(RetryCount));
     return(this);
 }
コード例 #8
0
 public ISqlAsyncPolicyBuilder WithTransientErrors(int retryCount)
 {
     _policies.Add(AsyncPolicies.GetCommonTransientErrorsPolicies(RetryCount));
     return(this);
 }