예제 #1
0
 public RetryPolicyHandler(LoggingSettings loggingSettings, RetryPolicySettings settings, HttpMessageHandler inner) 
     : base(inner)
 {
     _loggingSettings = loggingSettings;
     _settings = settings;
     _retryPolicy = Policy
     .Handle<TransientHttpRequestException>()
     .WaitAndRetryAsync(settings.RetryPolicyIntervals);
 }
예제 #2
0
        public DefaultRefitSettings()
        {
            LoggingSettings = new LoggingSettings();
            CircuitBreakerSettings = new CircuitBreakerSettings();
            RetryPolicySettings = new RetryPolicySettings();

            HttpMessageHandlerFactory = () =>
            {
                var handlers = new LoggingHandler(
                    LoggingSettings,
                    new CircuitBreakerPolicyHandler(LoggingSettings, CircuitBreakerSettings,
                        new RetryPolicyHandler(LoggingSettings, RetryPolicySettings,
                            new NoOpHandler())));

                return handlers;
            };
        }