Я не могу прочитать тело ответа в промежуточном программном обеспечении, используя .NET7.C#

Место общения программистов C#
Гость
Я не могу прочитать тело ответа в промежуточном программном обеспечении, используя .NET7.

Сообщение Гость »


Мне нужно прочитать тело ответа в промежуточном программном обеспечении.

Не могу прочитать, потому что поток всегда не читается.

Какой-нибудь совет или решение?

Я использую следующий код:

public static IApplicationBuilder UseSendApplicationErrors(это приложение IApplicationBuilder) { app.Use(async (контекст, следующий) => { ждать следующего (контекст); пытаться { если (context.Response.StatusCode >= 400) { log = context.RequestServices.GetRequiredService(); IErrorService errorNotificator = context.RequestServices.GetRequiredService(); ErrorDto errorRegistry = новый ErrorDto() { Конечная точка = context.Request.Path.Value ?? Строка.Пусто, Метод = контекст.Запрос.Метод, QueryParams = context.Request.QueryString.Value ?? Строка.Пусто, Пользователь = контекст.Пользователь.Идентификация?.Имя ?? Строка.Пусто, }; если (context.Response.Body.CanRead) errorRegistry.Message = новый StreamReader(context.Response.Body).ReadToEnd(); дождитесь errorNotificator.SaveErrorAsync(errorRegistry); } } поймать (Исключение e) { журнал?.LogError(e, e.Message); } }); приложение возврата; } Статус Тела всегда следующий:


Изображение


Промежуточное ПО размещается в начале канала:


Изображение

Вернуться в «C#»