Http-сервер в С#, поддерживающий фрагментированное кодирование Transfer-Encoding

Я ищу способ создать HttpServer на С#, который поддерживает разбивку на блоки Transfer-Encoding для постов, состоящих из нескольких частей. Причина в том, что мне нужно передавать большие файлы (2-10 ГБ), и клиентское приложение должно использовать кодирование передачи по частям, иначе при загрузке файла в память ему не хватает памяти. Я просмотрел Интернет и нашел довольно много примеров, которые используют класс System.Net.HttpListener в .Net, но мне не удалось заставить его работать с получением данных от клиента, который использует фрагментированное кодирование передачи. .

У кого-нибудь есть пример того, как это сделать?

Любая подсказка приветствуется.


person user8609610    schedule 14.09.2017    source источник
comment
Документы, похоже, подразумевают, что установка свойства response.ContentLength64 может привести к фрагментации данных. Возможно, потребуется какая-то другая возня. Документ здесь   -  person C. Gonzalez    schedule 14.09.2017


Ответы (1)


попробовав больше, я ранил решение: вам нужно только установить

httpWebRequest.SendChunked = true;
httpWebRequest.AllowWriteStreamBuffering = !Chunked;

Это заставило меня работать.

person user8609610    schedule 17.09.2017