locked
Проверка готовности БД SQL CE к работе. RRS feed

  • Вопрос

  • При запуске приложения копирую БД (файл SDF) в локальное хранилище. Потом обращаюсь к БД с запросом. Но иногда при обращении с первым запросом к БД возникает ошибка, типа файл заблокирован или занят. Закономерности нет. Возникает один раз из десяти, примерно. Как проверить готовность БД к работе?
    9 августа 2013 г. 5:45

Ответы

Все ответы

  • Какая точно ошибка у Вас выходит - "Operation not permitted on IsolatedStorageFileStream", или что-то другое?

    12 августа 2013 г. 7:12
  • "Operation not permitted on IsolatedStorageFileStream"

    Да, эта ошибка.
    13 августа 2013 г. 7:24
  • Смотрите ответ Laith: http://stackoverflow.com/questions/8415979/operation-not-permitted-on-isolatedstoragefilestream-error

     

    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение".

    • Помечено в качестве ответа Andrey Solopko 17 августа 2013 г. 6:22
    • Снята пометка об ответе Andrey Solopko 22 августа 2013 г. 12:40
    15 августа 2013 г. 13:40
  • Какая точно ошибка у Вас выходит - "Operation not permitted on IsolatedStorageFileStream", или что-то другое?

    Вот точная ошибка. Что посоветуете?

    Attempt by method 'System.Threading.ReaderWriterLockSlim.WaitOnEvent(System.Threading.EventWaitHandle, UInt32 ByRef, TimeoutTracker)' to access method 'System.Threading.WaitHandle.WaitOne(Int32, Boolean)' failed.

    Самое интересное, что в "Windows Phone 8 Release Notes.htm" эта ошибка описывается:

    Метод System.Threading.ReaderWriterLockSlim.TryEnterWriteLock вызывает исключение MethodAccessException, когда в фоновом потоке происходит конфликт ресурсов.

    Эффект, отражающийся на пользователе:Метод ReaderWriterLockSlim.TryEnterWriteLock будет получать исключения MethodAccessExceptions во время его нормального использования. Будет отображаться следующее исключение:

    Attempt by method 'System.Threading.ReaderWriterLockSlim.WaitOnEvent(System.Threading.EventWaitHandle, UInt32 ByRef, TimeoutTracker)' to access method 'System.Threading.WaitHandle.WaitOne(Int32, Boolean)' failed.

    Решение: избегайте использования объекта ReaderWriterLockSlim. Используйте другие примитивы синхронизации, например класс Monitor. В качестве дополнительной альтернативы используйте на уровне классов объект System.Threading.SemaphoreSlim.


    22 августа 2013 г. 12:39
  • Вот точная ошибка. Что посоветуете?

    Attempt by method 'System.Threading.ReaderWriterLockSlim.WaitOnEvent(System.Threading.EventWaitHandle, UInt32 ByRef, TimeoutTracker)' to access method 'System.Threading.WaitHandle.WaitOne(Int32, Boolean)' failed.

    Нашел решение:
    http://www.jaylee.org/post/2013/01/13/ReaderWriterLockSlim-on-Windows-Phone-8-and-the-seemingly-random-MethodAccessException.aspx

    • Помечено в качестве ответа Andrey Solopko 22 августа 2013 г. 13:00
    • Изменено Andrey Solopko 22 августа 2013 г. 13:01
    22 августа 2013 г. 13:00