Для приложения, над которым я работаю, мне нужно разрешить пользователю загружать очень большие файлы - т.е. потенциально много гигабайтов - через наш веб-сайт. К сожалению, ASP.NET MVC, похоже, загружает весь запрос в ОЗУ, прежде чем начать его обслуживать - не совсем идеально подходит для такого приложения. Примечательно, что вы пытаетесь обойти проблему с помощью кода, например:
if (request.Method == "POST")
{
request.ContentLength = clientRequest.InputStream.Length;
var rgbBody = new byte[32768];
using (var requestStream = request.GetRequestStream())
{
int cbRead;
while ((cbRead = clientRequest.InputStream.Read(rgbBody, 0, rgbBody.Length)) > 0)
{
fileStream.Write(rgbBody, 0, cbRead);
}
}
}
не удается обойти менталитет buffer-the-request-in-RAM. Есть ли простой способ обойти это поведение?