Я использую HttpClient для отправки запроса POST, содержащего большую полезную нагрузку mutlipart.Оказывается, HttpClient буферизирует весь запрос, и довольно легко воссоздать ошибку нехватки памяти, пытаясь отправить большой файл.HttpClient предоставляет хорошую среду для построения многокомпонентной полезной нагрузки, но возможно ли остановить его от буферизации запроса?
Я использую .net 4.7.2
Редактировать:
Я даже пробовал PushStreamContent:
byte[] binBuffer = new byte[4096];
int iRead = 0;
PushStreamContent partAttachment = new PushStreamContent((stream, content, context) =>
{
using (Stream strData = File.Open(@"c:\test\big.csv", FileMode.Open, FileAccess.Read, FileShare.Read))
{
while ((iRead = strData.Read(binBuffer, 0, binBuffer.Length)) > 0)
{
stream.Write(binBuffer, 0, iRead);
};
}
stream.Close();
});
Я получаю исключение OOM в потоке. Пишу, как только я набрал 2 гигабайта.