У меня есть класс DocumentGenerator
, который упаковывает MemoryStream
. Итак, я реализовал IDisposable
в классе.
Я не могу понять, как / где я могу распорядиться этим.
Это мой текущий код, который выполняет загрузку файла в MVC:
using (DocumentGenerator dg = DocumentGenerator.OpenTemplate(path))
{
/* some document manipulation with the
DocumentGenerator goes here ...*/
return File(dg.GetDocumentStream(), "text/plain", filename);
}
Эта ошибка, поскольку поток закрывается / удаляется до завершения работы контроллера. Как я могу убедиться, что мои ресурсы правильно расположены в этой ситуации?
РЕДАКТИРОВАТЬ: Моя реализация IDisposable
на данный момент просто избавляется от MemoryStream
. Я знаю, что это неправильная реализация, я просто использовал ее в качестве теста. Есть ли что-то другое, что я мог бы сделать здесь, чтобы это сработало?
public void Dispose()
{
_ms.Dispose();
_ms = null;
}