2

私のWindowsPhoneアプリケーション(silverlightアプリケーション)では、ユーザーが正常にログインすると、ユーザーがアプリケーションに自動的にログインできるようにしたいと考えています。つまり、ユーザーが毎回ログインすることを望んでいません。

これは、分離ストレージファイルの概念によって実現しました。つまり、最初にディレクトリを作成し、分離されたストレージファイルストリームを作成して、電子メールとパスワードのクレデンシャルをいくつかのファイルに保存しました。
デバッグを停止して再開すると、ストリームリーダーはそのファイルから電子メールパスワードのクレデンシャルを正常に読み取ります

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

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

4

5 に答える 5

2

これは、エミュレーターを使用した場合の1つの欠点です。実際の電話では、問題はありません。

http://msdn.microsoft.com/en-us/library/ff402563%28v=vs.92%29.aspxを参照してください

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

于 2012-02-17T14:12:38.397 に答える
2

これは仕様によるものです。

エミュレーター内の分離されたストレージは、閉じた後も保持されません。

参照: WindowsPhoneエミュレーター[ 機能]まで下にスクロールします。

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.

于 2012-02-17T14:13:12.797 に答える
1

あなたはそれについて何もすることができません。エミュレータを閉じて再度開くと、「デバイス」からすべてのデータ(アプリ、分離されたストレージコンテンツ、ロット)が消去され、既知の状態から再開します。この理由の1つは、開発者がデバイスの「既知の良好な」状態に移行できるようにすることです。これにより、エミュレータを再起動するたびに、エミュレータで最初からテストできます。

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

于 2012-02-17T14:12:37.663 に答える
0

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

ISEToolといくつかの「方法」の詳細については、「方法:msdnのIsolated StorageExplorerToolを使用する」を参照してください。

于 2012-02-18T15:55:10.377 に答える
0

IsolatedStorageSettings.ApplicationSettingsファイルを作成する代わりに、を使用してユーザーの資格情報を保存することもできます。http:
//msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings.applicationsettings%28v=vs.95% 29.aspx

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

于 2012-02-17T14:25:39.707 に答える