how to implement custom method when Polly circuit is close

539 views Asked by At

I have method which returns IAsyncPolicy<HttpResponseMessage> and it has 2 or more policies along with CircuitBreaker and part of my DI.

Now in my implementation class I added one extra fallbackPolicy to handle BrokenCircuitException and wrap it with IAsyncPolicy<HttpResponseMessage> (AsyncPolicy)

Now I did my custom method implementation within DoWork() method, Great!!! Thanks to FallbackAsync policy where I'm catching BrokenCircuitException exception, means when circuit is open.

var fallbackPolicy = Policy<HttpResponseMessage>
                .Handle<BrokenCircuitException>()
                .FallbackAsync(async (cancellationToken) => await DoWork()
                .ConfigureAwait(false));

            var policyWrap = fallbackPolicy.WrapAsync(AsyncPolicy);

            // Send message to service
            var response = await policyWrap.ExecuteAsync(() => HttpClient.PostAsync(...

Now question is, do we have any policy or a way to know when the circuit is close and I can write my own method implementation?

In my shared policy where I have CircuitBreaker` too which I wrote as in DI area have below signature, but I can't write my custom method implementation here.

onReset: () =>
                    {
                        Trace.TraceInformation("Web API Close");
                    },
0

There are 0 answers