Freigabe eines Datei-Handles

  • Thread starter Thread starter Christian Havel
  • Start date Start date
C

Christian Havel

Hi,

ich mache Zugriff auf eine Xml-Datei in nachstehender Reihenfolge:

1.) Directory.GetFiles( Pfad zu meinem Xml-Datei-Directory, "*");

2.) XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( Pfad zu meiner Xml-Datei);
// auslesen der Daten

3.) File.Delete( Pfad zu meiner Xml-Datei );
Bei diesem Aufruf kommt es unter .NET 2.0 zu einer IO-Exception, da die
Datei noch blockiert ist. Unter .NET 1.1 funktioniert dies problemlos.

Ich gehe davon aus, dass ich die Datei noch explizit freigeben muss (Nr. 2).
Wie kann ich dies tun?
Christian
 
Christian Havel skrev:
Hi,

ich mache Zugriff auf eine Xml-Datei in nachstehender Reihenfolge:

1.) Directory.GetFiles( Pfad zu meinem Xml-Datei-Directory, "*");

2.) XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( Pfad zu meiner Xml-Datei);
// auslesen der Daten

3.) File.Delete( Pfad zu meiner Xml-Datei );
Bei diesem Aufruf kommt es unter .NET 2.0 zu einer IO-Exception, da die
Datei noch blockiert ist. Unter .NET 1.1 funktioniert dies problemlos.

Ich gehe davon aus, dass ich die Datei noch explizit freigeben muss (Nr. 2).
Wie kann ich dies tun?
Christian

What is the parameter to your xmlDoc.Load() statement?

If this is not a String (i.e. a pathname), but a kind of reader you have
forgotten to close this reader before trying to perform the
File.Delete() on the same file this reader has open.
 
Back
Top