Ответ был прерван после перехвата потока ответа в пользовательском промежуточном программном обеспечении Owin - PullRequest
0 голосов
/ 15 января 2019

Я последовал ответу Барди в Как можно безопасно перехватить поток ответов в пользовательском промежуточном программном обеспечении Owin , чтобы получить полное тело ответа в промежуточном программном обеспечении. Когда промежуточное ПО успешно получает тело ответа, ответ, полученный вызывающим клиентом, прерывается на произвольную длину. Это почти говорит о том, что await buffer.CopyToAsync(stream); не полностью очищает ответ. Я пробовал несколько способов решить эту проблему, но ни один из них не работал вообще.

  1. используйте await buffer.CopyToAsync(stream, bufferSize); для очистки потока. Никакого эффекта.
  2. Добавить context.Response.ContentLength = bufferSize; Никакого эффекта.
  3. Добавить await context.Response.Body.FlushAsync(); или await stream.FlushAsync();. Я получил пустой ответ.

Кто-нибудь видел эту проблему?

...