Does File() В asp.net mvc закрывает поток?
Мне интересно, сделаете ли вы что-то вроде
public FileResult result()
{
Stream stream = new Stream();
return File(stream,"text/html","bob.html");
}
если File() закроет поток для вас? Поскольку я пытался поместить "поток" в оператор using, но он всегда давал мне ошибку, говоря, что поток был закрыт.
public FileResult result()
{
using(Stream stream = new Stream())
{
return File(stream,"text/html","bob.html");
}
}
Ответы
Ответ 1
Если вы используете объект File
для отправки результирующего файла для загрузки в виде bob.html, тогда да.
Я считаю, что все стандартные потоки (OutputStream, FileStream, CryptoStream) будут пытаться скрыться при закрытии или удалении.
В рамках MVC существует ряд классов, реализующих базовый класс FileResult
.
System.Web.Mvc.FileResult
System.Web.Mvc.FileContentResult
System.Web.Mvc.FilePathResult
System.Web.Mvc.FileStreamResult