For the read case what happens if you explicitly pass FileShare.None instead of FileShare.Read? The reason I ask is the default for FileShare is FileShare.None unless FileAccess == FileAccess.Read.
We should just be picking the ctor w/o parameters here so my guess is that the default values are actually behaving in a surprising way. But then again IsolatedStorage is a bit of a magical API (at least on the desktop CLR) so there is a possibility that something weird is happening here. From: [email protected] [mailto:[email protected]] On Behalf Of David Seruyange Sent: Sunday, April 05, 2009 6:50 AM To: Discussion of IronPython Subject: [IronPython] The Overloading Story, IsolatedStorage (Silverlight) Hey everyone, What is the story on overloading with IronPython? From Michael Foord's IronPython in Action p. 208: "[Overloading] largely works seemlessly in IronPython... If IronPython gets it wrong, it's a bug and you should report it on the IronPython mailing list or the issue tracker on the IronPython CodePlex site!" I've been recently implementing some Silverlight + IronPython and ran into trouble with IsolatedStorage. Specifically, there are overloads for the OpenFile method as follows: OpenFile(string path, FileMode mode) OpenFile(string path, FileMode mode, FileAccess access) OpenFile(string path, FileMode mode, FileAccess access, FileShare share) In order to open the file for reading, I found that the two parameter version was inadequate: ioStorage = IsolatedStorageFile.GetUserStoreForApplication() ioStorage.OpenFile("foo.text", FileMode.Open) # FAIL But passing all parameters led to success: ioStorage.OpenFile("foo.text", FileMode.Open, FileAccess.Read, FileShare.Read) #WIN Interestingly enough, I can succeed in writing to a file when I don't pass a FileShare parameter: ioStorage.OpenFile("foo.text", FileMode.Append, FileAccess.Write) I would assume there would be some issue with incompatibility with the defaults for the parameter assignment but when I use a C# project I can succeed with the stripped down calls to create a filestream in IsolatedStorage. Anticipating enlightenment, David
_______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
