我正在Silverlight中构建Windows Phone 7应用程序。我在使用IsolatedStorage
时遇到困难。
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
if (!storage.FileExists(STORIES_FILE))
{
storage.CreateFile(STORIES_FILE);
}
string contents;
// fails here
using (IsolatedStorageFileStream stream = storage.OpenFile(STORIES_FILE, FileMode.Open))
{
using (StreamReader reader = new StreamReader(stream))
{
contents = reader.ReadToEnd();
}
}
异常(exception)是:
"Operation not permitted on IsolatedStorageFileStream."
System.Exception {System.IO.IsolatedStorage.IsolatedStorageException}
我在这里可能做错了什么? MSDN says移除或禁用隔离存储时将引发此异常。那会发生吗?我在模拟器上遇到此问题。
更新:这似乎仅在我第一次在模拟器上运行应用程序时发生。应用程序崩溃后,我再次在模拟器上运行它,并且不会发生此问题。
更新2 :使用
FileMode.OpenOrCreate
而不是FileMode.Open
似乎已解决了该问题。 最佳答案
第一次运行应用程序时,该文件不存在,请尝试以下操作:
using (IsolatedStorageFileStream stream = storage.OpenFile(STORIES_FILE, FileMode.OpenOrCreate))
{
using (StreamReader reader = new StreamReader(stream))
{
contents = reader.ReadToEnd();
}
}
关于c# - .NET:IsolatedStorageException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4090123/