.Net Core 2.2 / Kestrel / Swagger отключение Chunking / Encoding - PullRequest
0 голосов
/ 11 декабря 2018

Я являюсь REST API в .Net Core 2.2 / Kestrel / Swagger 3 (OpenAPI).В Fiddler я заметил, что все мои ответы помечены как закодированные желтым знаменем, включили Chunked Encoding, а Json усеян 5J и т. Д. Как я могу отключить это?

Я виделнесколько потоков на SO, но они для более старых версий ...

Кроме того, я предполагаю, что я хотел бы сделать это через промежуточное программное обеспечение, как ... так что мне не нужно менять какие-либо элементы управленияи Swagger все подключается через это.

Был один SO-ответ, связанный с проектом GitHub, который предположительно сделал это, но проект был удален.

В Fiddler он возвращается таким же образом (с 51 и 0):

51
{
  "": [
    "Content-Type must be application/x-www-form-urlencoded."
  ]
}
0

Заголовок:

Transfer-Encoding: chunked
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcR2lsIFJvc2luXERvY3VtZW50c1xWaXN1YWwgU3R1ZGlvIDIwMTdcUHJvamVjdHNcRFRNUzJcdG9rZW4=?=
Server: Kestrel
Content-Type: application/json

1 Ответ

0 голосов
/ 11 декабря 2018

Пакет Microsoft.AspNetCore.Buffering содержит промежуточное программное обеспечение, которое буферизует ваши ответы.Просто вызовите UseResponseBuffering() на вашем сборщике приложений во время настройки при запуске.

Обратите внимание, что ваши ответы все еще могут быть разбиты на части чем-либо, что находится перед Kestrel (IIS, nginx и т. Д.).

Кроме того, чанки ваших ответов не должны вызывать никаких проблем, если только с вами не связывается какой-то странный неконформный HTTP-клиент.Стек HTTP всего, что попадает на ваш сервер, должен декодировать фрагмент за кулисами.

...