質問

私のWindowsPhoneアプリケーションで(シルバーライトアプリケーション)、ユーザーが正常にログインしたら、アプリケーションに自動的にログインしてもらいたい。つまり、ユーザーに毎回ログインしたくありません。

私はこれを介してこれを達成しました 分離されたストレージファイル 概念。つまり、最初にディレクトリを作成し、作成しました 分離されたストレージファイルストリーム 電子メールとパスワードの資格情報をあるファイルに保存しました。
デバッグを停止して元に戻すと、ストリームリーダーはそのファイルから電子メールパスワードの資格情報を読み取ります 正常に。

私の問題はです エミュレータを閉じるとき そして、それを開く私はそのファイルから読むことができませんでした(特に、ディレクトリ自体は存在しません!)。また、私の分離されたストレージが実際のWindowsPhoneで持続していることを知りたいですか?

どうすればこれを修正できますか?

役に立ちましたか?

解決

これは設計によるものです。

エミュレータの孤立したストレージは、閉じた後も持続しません。

参照:Windows Phoneエミュレータ「機能」まで下にスクロールします:

Important Note:
Isolated storage is available while the emulator is running. Data in isolated storage does not persist after the emulator closes. This includes files stored in a local database, as these files reside in isolated storage.

他のヒント

これは、エミュレータを使用することで1つのドローバックです。実際の電話では問題ではありません。

見る http://msdn.microsoft.com/en-us/library/ff402563%28v = vs.92%29.aspx

重要な注意:エミュレータの実行中は、分離ストレージが利用可能です。孤立したストレージのデータは、エミュレータが閉じた後も持続しません。これには、これらのファイルが孤立したストレージに存在するため、ローカルデータベースに保存されているファイルが含まれます。

あなたはそれについて何もすることはできません。エミュレータを閉じて再開すると、すべてのデータ(アプリ、分離されたストレージコンテンツ、ロット)を「デバイス」から拭き取り、既知の状態から再び開始します。この理由の1つは、開発者がデバイスの「既知の良い」状態にアクセスできるようにするため、リニューアルするたびにエミュレータでゼロからテストできるようにすることです。

アプリの起動の間にデータを維持する場合、唯一のオプションは、実行間でエミュレータをシャットダウンしないことです。

使用することもできます IsolatedStorageSettings.ApplicationSettings ファイルを書く必要があるのではなく、ユーザーの資格情報を保存するには:
http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings.applicationsettings%28v = vs.95%29.aspx

そして、他の人が言ったように、エミュレーターでは、これらの設定はエミュレータ自体が実行されている間にのみ持続します。各デバッグセッションの間にエミュレータを閉じる必要はないことに注意してください。エミュレータのホームボタンを押して、アプリケーションの内外に移動することをテストできます。

分離されたストレージエクスプローラーツールを使用して、アプリ分離ストレージのスナップショット(たとえば、デフォルトデータが含まれている)を使用して、そのスナフォットを使用して、エミュレータが再起動した後に分離ストレージコンテンツを逆にすることができます。

ISETOOLといくつかの「方法」の詳細情報を見つけることができます 方法:分離されたストレージエクスプローラーツール記事を使用する MSDNで。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top