Esempio n. 1
0
        public HomeController(ILogger <HomeController> logger)
        {
            _logger = logger;

            _circuitBreakerPolicy = Policy
                                    .Handle <Exception>()
                                    .CircuitBreaker(exceptionsAllowedBeforeBreaking: 10,
                                                    durationOfBreak: TimeSpan.FromMinutes(10));
        }
Esempio n. 2
0
        public FakeService(IFakeAPI fakeAPI)
        {
            _fakeAPI = fakeAPI;
            ((FakeAPI)_fakeAPI).Retry = 0;

            _cache = BlobCache.LocalMachine;

            _circuitBreakerPolicy = Policy
                                    .Handle <Exception>()
                                    .CircuitBreakerAsync(exceptionsAllowedBeforeBreaking: 2, durationOfBreak: TimeSpan.FromSeconds(60));

            _policy = Policy <List <Post> >
                      .Handle <Exception>()
                      .FallbackAsync <List <Post> >(fallbackAction: async(System.Threading.CancellationToken arg) =>
            {
                System.Diagnostics.Debug.WriteLine("Fallback call");
                return(await _fakeAPI.GetPostsFallback());
            })
                      .WrapAsync(_circuitBreakerPolicy);
        }