c# windows-phone-7 isolatedstorage windows-phone-7-emulator

c# - Proceso de inicio de sesión automático en la aplicación Windows Phone 7.1



windows-phone-7 isolatedstorage (5)

En mi aplicación Windows Phone (aplicación Silverlight ), quiero que el usuario inicie sesión automáticamente en la aplicación una vez que inicie sesión con éxito. Es decir, no quiero que el usuario inicie sesión cada vez.

Lo logré a través de un concepto de archivo de almacenamiento aislado . Primero, creé un directorio y creé una secuencia de archivos de almacenamiento aislados y almacené las credenciales de correo electrónico y contraseña en algún archivo.
Cuando dejé de depurar y lo reinicié, mi lector de flujo lee las credenciales de contraseña de correo electrónico de ese archivo con éxito.

Mi problema es que cuando cierro mi emulador y lo vuelvo a abrir, no pude leer ese archivo (¡en particular, el directorio en sí no existe!). ¿También quiero saber si mi almacenamiento aislado persiste en el teléfono de Windows real?

¿Cómo podría arreglar esto?


Este es un inconveniente con el uso del emulador: no es un problema en un teléfono real.

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

Nota importante: el almacenamiento aislado está disponible mientras el emulador se está ejecutando. Los datos en el almacenamiento aislado no persisten después de que se cierra el emulador. Esto incluye los archivos almacenados en una base de datos local, ya que estos archivos residen en un almacenamiento aislado.


Esto es por diseño.

El almacenamiento aislado en el emulador no se conserva después de cerrarlo.

Referencia: Windows Phone Emulator Desplácese hacia abajo a "Características":

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.


No puedes hacer nada al respecto. Cuando cierra y vuelve a abrir el emulador, elimina todos los datos (aplicaciones, contenido de almacenamiento aislado, el lote) del "dispositivo" y comienza de nuevo desde un estado conocido. Una razón para esto es permitir que el desarrollador llegue a un estado "bien conocido" del dispositivo para que pueda probar desde cero en el emulador cada vez que lo reinicie.

Si desea conservar los datos entre los inicios de la aplicación, su única opción es no cerrar el emulador entre ejecuciones.


También puede usar el archivo IsolatedStorageSettings.ApplicationSettings para almacenar las credenciales del usuario en lugar de tener que escribir un archivo:
http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings.applicationsettings%28v=vs.95%29.aspx

Y como otros han dicho, en el emulador, estas configuraciones solo persisten mientras el emulador se está ejecutando. tenga en cuenta que no tiene que cerrar el emulador entre cada sesión de depuración. Puede presionar el botón de inicio en el emulador para probar la entrada y salida de la aplicación.


Puede utilizar la herramienta aislada Storage Explorer para tomar una instantánea del almacenamiento aislado de su aplicación (por ejemplo, con algunos datos predeterminados) y luego usar esa instantánea para invertir el contenido de almacenamiento aislado después de reiniciar el emulador.

Puede encontrar más información sobre ISETool y algunos ''Cómo hacerlo'' en Cómo: Usar el artículo de la herramienta aislada de Storage Explorer en msdn.