Имеется PUT метод, в котором в теле HTTP запроса приходят большие данные. Имеется MIddleware для проверки аутентификации пользователя. Middleware находиться в самом начале конвейера обработки запроса.
Заголовки HTTPRequest приходят мгновенно при отправке запроса клиентом с большим телом. Если аутентификация не проходит, формируется HTTP Response с кодом 403
context.Response.ContentType = "application/xml";
context.Response.StatusCode = 403;
В логах сервиса, запущенного через Kestrel, видим сразу же результат обработки сообщения.
Request finished in 5604.9432ms 403 application/xml; charset=utf-8
Но, клиенту, который выполняет HTTPRequest, приходит ответ об ошибке аутентификации с продолжительной паузой. Чем больше данных посылаем в теле HTTP сообщения, тем дольше HTTP Response не приходит обратно.
Из этого можно предположить, что хотя в Middleware сразу же формируем "ошибочный" Response, Response уходит клиенту только тогда, когда конвейер запросов примет все тело сообщения.
Каким образом можно прервать передачу тела HTTPRequest в пользовательском Middleware, чтобы клиент сразу же получал ответ? Запрос по конвейеру запросов дальше Middleware по аутентификации не идет в случае формирования Response с кодом 403(_next не вызывается).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
I want to get some user console outputFor example, I do driver
Доброго времени сутокНужна помощь Есть таблица, хочу каждый элемент сделать кликабельным Вот так работает :