[ WP7 ] App is Crashed in Deactivated Event When Occurs Saving Data in Settings

Приложение падает при сохранении настроек в IsolatedStorageSettings.ApplicationSettings

Довольно жуткое дело, т.к. даже уловить исключение не так просто. Весь секрет в том, что скорее всего вы так же как и я вызывали IsolatedStorageSettings.ApplicationSettings.Save();

В WP8 всё хорошо и обрабатывается системой, в WP7 происходит блокировка приложения, т.к. IsolatedStorageSettings.ApplicationSettings.Save(); вызывается автоматически при закрытии или деактивации приложения. Т.е. получается, он вызывается 2 раза подряд.

Как не надо делать

        private void Application_Deactivated(object sender, DeactivatedEventArgs e)
        {
            IsolatedStorageSettings.ApplicationSettings["SomeData"]=App.data;
            IsolatedStorageSettings.ApplicationSettings.Save();
        }

 Как  надо делать

        private void Application_Deactivated(object sender, DeactivatedEventArgs e)
        {
            IsolatedStorageSettings.ApplicationSettings["SomeData"]=App.data;
        }

 

Стоит так же глянуть:

http://stackoverflow.com/questions/4330991/why-is-isolated-storage-not-persisting-in-my-wp7-application

http://stackoverflow.com/questions/6844103/windows-phone-7-isolatedstoragesettings-add-and-save-function

Не стоит смотреть, т.к. решение c Thread.Sleep() костыльное:

http://stackoverflow.com/questions/9992969/wp7-application-crashes-when-being-frequently-activated-deactivated

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *