当我尝试在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);
答案 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)
在文件访问期间遇到异常时,请检查两件事: