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;
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage