Duda sobre Isolation Storage

01/05/2008 - 12:55 por Javito | Informe spam
Hola a Todos, estoy haciendo pruebas con Isolated Storage en aplicaciones y
mi duda es si lo almacenado en el almacen es permanente o se elimina en
cuanto se cierra la aplicación, y en el caso de que pueda ser permanente
como se accede a un almacén ya creado pués todos los métodos que veo de la
clase IsolatedStorageFile son para crear un nuevo añmacén pero no veo
ninguno para acceder a uno ya creado anteriormente. y sin embargo veo que se
admiten definiciones móviles (roaming) que hacen referencia a
almacenamientos permanentes,

un saludo

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
01/05/2008 - 13:40 | Informe spam
"Javito" wrote in message
news:%234%
Hola a Todos, estoy haciendo pruebas con Isolated Storage en aplicaciones
y mi duda es si lo almacenado en el almacen es permanente o se elimina en
cuanto se cierra la aplicación, y en el caso de que pueda ser permanente
como se accede a un almacén ya creado pués todos los métodos que veo de la
clase IsolatedStorageFile son para crear un nuevo añmacén pero no veo
ninguno para acceder a uno ya creado anteriormente. y sin embargo veo que
se admiten definiciones móviles (roaming) que hacen referencia a
almacenamientos permanentes,



El almacenamiento aislado es permanente. Se guarda en una carpeta que
depende del sistema operativo y de que sea itinerante (roaming). En Windows
XP y con perfil no-itinerante, se usa <SYSTEMROOT>\Profiles\<user>\Local
Settings\Application Data. Cuando cierras la aplicación, NO se borra.

Cuando abres la aplicación y quieres acceder a su almacenamiento aislado, se
usa:
IsolatedStorageFile isoStore =
IsolatedStorageFile.GetUserStoreForAssembly();
o bien, si lo estás aislando "por dominio":
IsolatedStorageFile isoStore =
IsolatedStorageFile.GetUserStoreForDomain();

Si lo quieres itinerante, hay que usar la función GetStore, que es un poco
más complicada:
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(
IsolatedStorageScope.User |
IsolatedStorageScope.Assembly |
IsolatedStorageScope.Roaming,
null, null);

isoStore.Close();
Respuesta Responder a este mensaje
#2 Javito
01/05/2008 - 15:46 | Informe spam
De acuerdo en el sitio de almacenamiento y las diferencias si hay movilidad
o no pero hay dos partes que no están claras:
1) Cuando se crea un nuevo almacén tambien se utiliza el método
GetUserStoreForAssembly(), por lo que como distingue la aplicación si
quieres acceder a un almacenamiento prévio o crear uno nuevo.
2) Dado que una aplicación o ensamblado puede tener más de un sitio de
almacenamiento aislado, como se puede acceder a uno u otro si en el
constructor del citado método no incluye ningun parámetro.

un saludo

"Alberto Poblacion"
escribió en el mensaje news:%
"Javito" wrote in message
news:%234%
Hola a Todos, estoy haciendo pruebas con Isolated Storage en aplicaciones
y mi duda es si lo almacenado en el almacen es permanente o se elimina en
cuanto se cierra la aplicación, y en el caso de que pueda ser permanente
como se accede a un almacén ya creado pués todos los métodos que veo de
la clase IsolatedStorageFile son para crear un nuevo añmacén pero no veo
ninguno para acceder a uno ya creado anteriormente. y sin embargo veo que
se admiten definiciones móviles (roaming) que hacen referencia a
almacenamientos permanentes,



El almacenamiento aislado es permanente. Se guarda en una carpeta que
depende del sistema operativo y de que sea itinerante (roaming). En
Windows XP y con perfil no-itinerante, se usa
<SYSTEMROOT>\Profiles\<user>\Local Settings\Application Data. Cuando
cierras la aplicación, NO se borra.

Cuando abres la aplicación y quieres acceder a su almacenamiento aislado,
se usa:
IsolatedStorageFile isoStore =
IsolatedStorageFile.GetUserStoreForAssembly();
o bien, si lo estás aislando "por dominio":
IsolatedStorageFile isoStore =
IsolatedStorageFile.GetUserStoreForDomain();

Si lo quieres itinerante, hay que usar la función GetStore, que es un poco
más complicada:
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(
IsolatedStorageScope.User |
IsolatedStorageScope.Assembly |
IsolatedStorageScope.Roaming,
null, null);

isoStore.Close();

Respuesta Responder a este mensaje
#3 Alberto Poblacion
01/05/2008 - 19:18 | Informe spam
"Javito" wrote in message
news:OEjE$
De acuerdo en el sitio de almacenamiento y las diferencias si hay
movilidad o no pero hay dos partes que no están claras:
1) Cuando se crea un nuevo almacén tambien se utiliza el método
GetUserStoreForAssembly(), por lo que como distingue la aplicación si
quieres acceder a un almacenamiento prévio o crear uno nuevo.



Cuando llamas a GetUserStoreForAssembly, si no existe, lo crea. Si ya
existe, te devuelve el que ya está creado.

2) Dado que una aplicación o ensamblado puede tener más de un sitio de
almacenamiento aislado, [...]



¿Seguro? Tenía entendido que era único. Si la aplicación puede crear
varios almacenes, entonces no sirve para mucho la limitación de espacio que
el CLR teóricamente impone a cada almacén para que ninguna aplicación
consuma una cantidad excesiva de espacio en el almacenamiento aislado.
Respuesta Responder a este mensaje
#4 Javito
17/05/2008 - 20:32 | Informe spam
Perdona Alberto pero he estado fuera, si todo parece indicar que la zona de
almacenamiento aislada debe ser solo una, pero se puede solicitar una zona
de aislamiento a nivel de dominio de aplicación, y se pueden crear tantos
dominios de aplicación como se quieran, y no veo en la creación que haya
forma de seperar los alojamientos para cada dominio, da la impresión de que
crea un almacen independiente para cada uno.

un saludo
"Alberto Poblacion"
escribió en el mensaje news:%23H$
"Javito" wrote in message
news:OEjE$
De acuerdo en el sitio de almacenamiento y las diferencias si hay
movilidad o no pero hay dos partes que no están claras:
1) Cuando se crea un nuevo almacén tambien se utiliza el método
GetUserStoreForAssembly(), por lo que como distingue la aplicación si
quieres acceder a un almacenamiento prévio o crear uno nuevo.



Cuando llamas a GetUserStoreForAssembly, si no existe, lo crea. Si ya
existe, te devuelve el que ya está creado.

2) Dado que una aplicación o ensamblado puede tener más de un sitio de
almacenamiento aislado, [...]



¿Seguro? Tenía entendido que era único. Si la aplicación puede crear
varios almacenes, entonces no sirve para mucho la limitación de espacio
que el CLR teóricamente impone a cada almacén para que ninguna aplicación
consuma una cantidad excesiva de espacio en el almacenamiento aislado.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida