Я создаю конечную точку для загрузки файлов, и они могут быть очень большими (до 1 ГБ).
Вот упрощенный пример:
Код: Выделить всё
public HttpResponseMessage Download(string filename)
{
var response = Request.CreateResponse(HttpStatusCode.OK);
var fileStream = GetFileStream(filename);
response.Content = new StreamContent(fileStream);
return response;
}
Основываясь на результатах тестирования, я думаю, что буферизация не выполняется, но я хотел бы быть уверен на 100%.< /p>
Может ли кто-нибудь сказать мне наверняка, StreamContent полностью буферизуется в памяти или нет?
Изменить: обновлено, чтобы лучше отражать то, что Я занимаюсь. Предположим, что метод GetFileStream() — это служба, которая возвращает поток в исходный файл.
Подробнее здесь: https://stackoverflow.com/questions/787 ... net-or-iis