Использование IsolatedStorageFile вызывает исключение AbandonedMutexException - PullRequest
3 голосов
/ 02 августа 2011

Я поддерживаю некоторый код с помощью метода в Silverlight 4.0, который бросил

IsolatedStorageException Недостаточно свободного места для выполнения операции.

, пока я не создал каталог для него в моем C: \ Documents and Settings \ (пользователь) \ Local Settings \ Application Data directory. Теперь я получаю немного более раздражающий

Произошло исключение System.Exception Сообщение = ожидание завершено из-за оставленного мьютекса. Трассировки стека: в System.Threading.WaitHandle.InternalWaitOne (SafeHandle waitableSafeHandle, Int64 миллисекундыTimeout, логическое значение hasThreadAffinity, логическое значение exitContext) InnerException: нуль

Приведенный ниже код вызывает это исключение при вызове IsolatedStorageFile.GetUserStoreForApplication ()

public object Getfromcache()
    {

        try
        {
            using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
            using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream("AppCache/" + cachekey, FileMode.Open, file))

                if (stream.Length > 0)
                {
                    return serializer.ReadObject(stream);
                }
                else
                {
                    return null;
                }
        }
        catch
        {
            return null;
        }
    }

Этот код раньше не вызывал у меня никаких проблем. Кто-нибудь видит в этом что-то ужасное?

...