Wie kann ich meinen Dateistream entsorgen, wenn ich einen Dateidownload in ASP.NET implementiere
Ich habe ein klasseDocumentGenerator
welches ein @ umschlieMemoryStream
. Also habe ich @ implementieIDisposable
auf der Klasse.
Ich kann nicht sehen, wie / wo ich es möglicherweise entsorgen kann.
Dies ist mein aktueller Code, der einen Dateidownload in MVC durchführt:
using (DocumentGenerator dg = DocumentGenerator.OpenTemplate(path))
{
/* some document manipulation with the
DocumentGenerator goes here ...*/
return File(dg.GetDocumentStream(), "text/plain", filename);
}
Dieser Fehler, da der Stream geschlossen / entsorgt wird, bevor der Controller damit fertig ist. Wie kann ich sicherstellen, dass meine Ressourcen in dieser Situation ordnungsgemäß entsorgt werden?
BEARBEITEN Meine Implementierung vonIDisposable
im Moment entsorgt nur dieMemoryStream
. Ich weiß, dass es keine ordnungsgemäße Implementierung ist. Ich habe es nur als Test verwendet. Kann ich hier etwas anderes tun, damit es funktioniert?
public void Dispose()
{
_ms.Dispose();
_ms = null;
}