ДелегированиеHandler Проблема SendAsync - PullRequest
0 голосов
/ 05 июня 2018

Мы переопределяем метод SendAsync в System.Net.Http.DelegatingHandler для запуска некоторой настраиваемой логики:

protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
    //logic block 1

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

    //logic block 2
}

Кроме того, в вызовах запроса мы выполняем вызовы gRPC.

Проблема, с которой мы сталкиваемся, заключается в том, что иногда, когда возникает ошибка, код в логическом блоке 2 не запускается, и нет четкой причины, почему это не происходит каждый раз, когда мы видим ошибку.Мы видели только эту проблему на нашем сервере IIS, и когда мы пытаемся воссоздать эту ошибку локально, мы не можем воспроизвести ее.

У нас есть ощущение, что жизненный цикл http-сообщения обрывается из-за недоступности или тайм-аутов gRPC.

Любые идеи о причине приветствуются!

...