Передача большого тела сообщения ASP NET CORE REST API

257
21 июля 2017, 00:42

Имеется 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 не вызывается).

READ ALSO
Selenium + Chrome WebDriver get user console output

Selenium + Chrome WebDriver get user console output

I want to get some user console outputFor example, I do driver

277
Как выбрать все элементы в DOM и сделать их кликабельными

Как выбрать все элементы в DOM и сделать их кликабельными

Доброго времени сутокНужна помощь Есть таблица, хочу каждый элемент сделать кликабельным Вот так работает :

313
Как скопировать в буфер скрытый текст?

Как скопировать в буфер скрытый текст?

на странице реализовано копирование в буфер:

289