views:

571

answers:

1

This is probably a really simple thing, but I haven't been able to find it, and I'm probably just searching for the wrong thing...

XmlTextReader --> Does it lock the file you're reading? I'm using reader.Read() and that's about it.

+9  A: 

When you create a new XmlTextReader providing a string, it will lock the file with a write lock (but not a read lock); however, if you provide it a Stream, it would depend on the stream itself.

FileStream stream = new FileStream(@"myfile.xml", FileMode.Open,
                            FileAccess.Read, FileShare.ReadWrite);
XmlTextReader reader = new XmlTextReader(stream);

You can now read without having a lock.

Samuel
+1 beat me to the answer. Can also do FileStream stream = File.Open(...)
Michael Meadows
Yeah, same difference. One probably calls the other (which I don't know, but you could find out with Reflector.)
Samuel