.NET: IsolatedStorageException - PullRequest
       13

.NET: IsolatedStorageException

5 голосов
/ 03 ноября 2010

Я создаю приложение для Windows Phone 7 в Silverlight. У меня трудности с 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();
            }
        }

Исключение составляет:

"Operation not permitted on IsolatedStorageFileStream."
System.Exception {System.IO.IsolatedStorage.IsolatedStorageException}

Что я могу здесь делать не так? MSDN сообщает , что это исключение выдается при удалении или отключении изолированного хранилища. Могло ли это случиться? У меня проблема с эмулятором.

Обновление : это происходит только при первом запуске приложения на эмуляторе. После сбоя приложения я снова запускаю его на эмуляторе, и эта проблема не возникает.

Обновление 2 : использование FileMode.OpenOrCreate вместо FileMode.Open, похоже, решило проблему.

1 Ответ

3 голосов
/ 03 ноября 2010

При первом запуске приложения файла нет, попробуйте вместо этого:

using (IsolatedStorageFileStream stream = storage.OpenFile(STORIES_FILE, FileMode.OpenOrCreate))
        {
            using (StreamReader reader = new StreamReader(stream))
            {
                contents = reader.ReadToEnd();
            }
        }
...