Windows Phone 7アプリケーションには、IsolatedStorageに保持している設定がいくつかあります。これらの設定は、私のアプリケーションの形式で変更できます。私の問題は、これらの設定が常に保存されるとは限らないことです。ホームボタンを使用してアプリケーションを終了してから再度開くと、新しい設定ではなく古い設定が表示されることがあります。これはランダムに発生します。つまり、まったく同じことを行いますが、設定が更新される場合と更新されない場合があります。
そこで、いくつかの調査を行ったところ、次のページが見つかりました:http: //msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings.save (v=vs.95).aspx
「IsolatedStorageSettingsオブジェクトに書き込まれるデータは、クラスを使用するアプリケーションを閉じるときに保存されます。これは、ユーザーがWebブラウザーを閉じるとき、ページを更新するとき、またはページから離れて参照するときに発生する可能性があります。アプリケーションを分離に書き込む場合ストレージをすぐに使用できます。アプリケーションコードでSaveメソッドを呼び出すことができます。」
そこで、Save()関数を使用して、IsolatedStorageに変更を即座に保存しようとしました。ここで問題となるのは、アプリケーションで[保存]ボタンをクリックすると、機能する場合と例外がスローされる場合があります(完全にランダムです)。そのページには、IsolatedStorageに十分なスペースがない場合にのみ例外がスローされると書かれていますが、次のようになっています。
- 私のIsolatedStorageはほとんど空で、設定は3つしかなく、値を更新するだけです。
- 常にではなく、ランダムに発生します。
だから私の質問は:変更が失われないことを確認して、IsolatedStorageにデータを安全に保存するにはどうすればよいですか?ご清聴ありがとうございました。