Реализация HttpInterceptor в C# и. NET - PullRequest
0 голосов
/ 05 августа 2020

В Angular есть HttpInterceptor, который позволяет перехватывать вызов HttpClient в приложении, а также обрабатывать ошибки запроса.

Есть ли библиотека C # /. NET, которая делает то же самое вещь?

Ответы [ 2 ]

1 голос
/ 05 августа 2020

HttpClientHandler

Вы должны переопределить SendAsync

internal class MyHttpClientHandler : HttpClientHandler
{
    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
         // Do before call

        var response = await base.SendAsync(request, cancellationToken).ConfigureAwait(false);

        // do after call

        return response;
    }
}

var handler = new MyHttpClientHandler();

var client = new HttpClient(handler)
{
    BaseAddress = new Uri("my-api-uri")
};

0 голосов
/ 05 августа 2020

Вы ищете то, что называется Middelware в мире ASP. net. Это код, который помещается в конвейер http, который может обрабатывать входящие запросы и исходящие ответы. Взгляните на эту статью , в которой объясняется, как это работает и что вы можете сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...