Interceptar C # HttpClient GetAsync
Tengo un proyecto web (C #, MVC5 pero no WebAPI) y un simple cliente HTTP REST que llama a un servicio REST externo y adquiere un acceso accessToken.
Quiero verificar la respuesta de todas mis llamadas Get / PostAsync para statusCode 401 pero veo que solo puedo anular elSendAsync
método al implementar elDelegatingHandler
.
class CustomDelegatingHandler : DelegatingHandler
{
async protected override Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = await base.SendAsync(request, cancellationToken);
if (response.StatusCode == HttpStatusCode.Unauthorized)
{
¿Hay algo más que pueda hacer para no cambiar la implementación de todas mis llamadas asíncronas para usarSendAsync
?
(Lo que realmente quiero hacer es actualizar AccessToken).