文件打开时抛出IsolatedStorageFileStream异常?

时间:2010-12-22 18:03:05

标签: silverlight windows-phone-7

当我尝试在WP7应用中打开文件时:

IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream nameXmlFile = new IsolatedStorageFileStream("Names.xml", System.IO.FileMode.Open, isf);

我收到以下错误:

  

IsolatedStorageFileStream上不允许操作。

我不确定为什么它没有打开,因为我在我的应用程序的其他地方使用了确切的代码,它工作正常。 关于为什么会发生这种情况的任何线索?

修改

我使用以下代码将文件添加到App.xaml.cs Application_Launching事件中的独立存储:

IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream feedXmlFile = new IsolatedStorageFileStream("Names.xml",System.IO.FileMode.Create, isf);

3 个答案:

答案 0 :(得分:4)

使用IsolatedStorageFileStream构造函数的一个问题是生成的异常信息有限。替代OpenFile方法有一组更丰富的例外。

作为一般的经验法则,如果API允许您使用构造函数或方法执行相同的操作,请使用该方法。在这种情况下,请尝试使用此代码: -

IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream nameXmlFile = isf.OpenFile("Names.xml", System.IO.FileMode.Open);

如果失败,你至少会缩小潜在原因。

这看似显而易见,但在创建代码中,您实际上已经写入并关闭了您创建的文件?

答案 1 :(得分:2)

IsolatedStorage Exception是一个已知的问题,它会触发Application_Launching。 more details

答案 2 :(得分:2)

在文件访问期间遇到异常时,请检查两件事: