public HomeController(ILogger <HomeController> logger) { _logger = logger; _circuitBreakerPolicy = Policy .Handle <Exception>() .CircuitBreaker(exceptionsAllowedBeforeBreaking: 10, durationOfBreak: TimeSpan.FromMinutes(10)); }
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); }