В ASP.NET на .NET 4.8 буферизуется ли StreamContent с помощью ASP.NET или IIS?C#

Место общения программистов C#
Anonymous
В ASP.NET на .NET 4.8 буферизуется ли StreamContent с помощью ASP.NET или IIS?

Сообщение Anonymous »

Я привык работать с автономным веб-API .NET 6+, но сейчас я работаю над веб-API ASP.NET, работающим на .NET 4.8 и размещенным в IIS.
Я создаю конечную точку для загрузки файлов, и они могут быть очень большими (до 1 ГБ).
Вот упрощенный пример:

Код: Выделить всё

public HttpResponseMessage Download(string filename)
{
var response = Request.CreateResponse(HttpStatusCode.OK);
var fileStream = GetFileStream(filename);
response.Content = new StreamContent(fileStream);

return response;
}
Я пытался убедиться, что поток не буферизуется в памяти ни с помощью ASP.NET, ни с помощью IIS, прежде чем доставить его вызывающему объекту, но я не могу найти ни одного документация, которая так или иначе объясняет это.
Основываясь на результатах тестирования, я думаю, что буферизация не выполняется, но я хотел бы быть уверен на 100%.< /p>
Может ли кто-нибудь сказать мне наверняка, StreamContent полностью буферизуется в памяти или нет?
Изменить: обновлено, чтобы лучше отражать то, что Я занимаюсь. Предположим, что метод GetFileStream() — это служба, которая возвращает поток в исходный файл.

Подробнее здесь: https://stackoverflow.com/questions/787 ... net-or-iis

Вернуться в «C#»