Я пытаюсь использовать System.Net.Http для запросов POST. Я нормально отношусь к тому, что тело ответа HTTP находится в памяти, но для этого нужно получить MemoryStream. Один из способов сделать это - вызвать HttpContent.GetAsByteArrayAsync () и обернуть поверх него MemoryStream, но я думаю, что для этого потребуется скопировать контент в отдельный массив байтов (поскольку он возвращает Task of byte []).
Если тело ответа уже находится в каком-то внутреннем буфере в HttpContent, возможно ли создать MemoryStream поверх этого буфера или каким-то образом вернуть MemoryStream из HttpContent и избежать копирования в отдельный массив байтов?
Существует также HttpContent.GetAsStreamAsync (), но он возвращает обычный Stream, а не MemoryStream. Хотя это, вероятно, уже является экземпляром MemoryStream, я полагаю, это небезопасно или не рекомендуется приводить возвращенный поток в MemoryStream? (поскольку это деталь реализации, которая может измениться).
Есть ли другой способ сделать это, или у меня нет выбора, кроме как сначала скопировать в byte []?
Спасибо.