2 Stimmen

close var XDocument.Load Methode/Weg

Wie schließe ich dieses Dokument, das auf diese Weise aufgerufen wurde:

var xmlDoc = XDocument.Load(new XmlTextReader(Server.MapPath("Nc.xml")));

danke

3voto

dthorpe Punkte 34584

XmlTextReader implementiert IDisposable. Im Allgemeinen sollten Sie IDisposable.Dispose() aufrufen, sobald Sie die Ressource nicht mehr benötigen, damit das System offene Handles usw. schließen kann.

Das beste Verwendungsmuster für IDisposable ist die Verwendung der using Syntax, die IDisposable.Dispose() automatisch in einer impliziten try..finally Umschlag:

using (var reader = new XmlTextReader(Server.MapPath("Nc.xml")))
{
    var xdoc = XDocument.Load(reader);
    { .. do xdoc work here .. }
} // reader disposed here

oder wenn Sie das xdoc für andere Arbeiten lange behalten wollen, aber die Datei so schnell wie möglich schließen wollen, gehen Sie so vor:

XDocument xdoc = null;
using (var reader = new XmlTextReader(Server.MapPath("Nc.xml")))
{
    xdoc = XDocument.Load(reader);
} // reader disposed here

{ .. do xdoc work here .. }

1voto

ΩmegaMan Punkte 26232

Sobald das Lesegerät fertig ist, schließt es den gelesenen Text automatisch.

andernfalls hängen Sie die Referenz für GC aus, indem Sie

xmlDoc = null;

wodurch alle internen offenen Posten abgebaut werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X