Pregunta

En mi aplicación de Windows Phone (Aplicación de Silverlight), Quiero que el usuario se registre automáticamente en la aplicación una vez que inicie sesión correctamente. Es decir, no quiero que el usuario inicie sesión cada vez.

Logré esto a través de un Archivo de almacenamiento aislado concepto. Es decir, primero creé un directorio y creé un transmisión de archivos de almacenamiento aislado y almacenó las credenciales de correo electrónico y contraseña en algún archivo.
Cuando dejé de depurar y comencé, mi lector de transmisión lee las credenciales de paso de correo electrónico de ese archivo exitosamente.

Mi problema es Cuando cierro mi emulador y abrirlo de vuelta no pude leer de ese archivo. (¡particularmente, el directorio en sí no existe!). ¿También quiero saber que mi almacenamiento aislado persiste en Windows Phone real?

¿Cómo podría arreglar esto?

¿Fue útil?

Solución

Esto es por diseño.

El almacenamiento aislado en el emulador no persiste después de que lo cierre.

Referencia:Emulador de Windows PhoneDesplá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.

Otros consejos

Este es un retiro 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 cierre el emulador. Esto incluye archivos almacenados en una base de datos local, ya que estos archivos residen en el almacenamiento aislado.

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

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

También puedes usar el IsolatedStorageSettings.ApplicationSettings Para almacenar la credencial 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 en sí 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 dentro y fuera de la aplicación.

Puede usar la herramienta de explorador de almacenamiento aislado para tomar una instantánea de su aplicación de almacenamiento aislado (por ejemplo, con algunos datos predeterminados) y luego usar ese snaphot para revertir el contenido de almacenamiento aislado después de que se reinicie el emulador.

Puede encontrar más información sobre isetool y algunos 'cómo' Cómo: Utilice el artículo de la herramienta de explorador de almacenamiento aislado en msdn.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top