Freigabe eines Datei-Handles

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
 
B

Bjørn Brox

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top