Share via


Cómo: Obtener almacenes para el almacenamiento aislado

Un almacén expone un sistema de archivos virtual dentro de un compartimiento de datos. IsolatedStorageFile proporciona una serie de métodos para interactuar con un almacén. Para crear y recuperar almacenes, IsolatedStorageFile proporciona tres métodos estáticos. Una llamada a GetUserStoreForAssembly o GetUserStoreForDomain devuelve almacenamiento aislado por usuario y ensamblado o por usuario, dominio y ensamblado, respectivamente. Estos dos métodos recuperan un almacén que pertenece al bloque de código desde el que se les llama. El método estático GetStore devuelve un almacén aislado que se especifica pasando una combinación de parámetros de ámbito. Los siguientes parámetros recuperan un almacén aislado por usuario, dominio y ensamblado.

Dim isoStore As IsolatedStorageFile
isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);

El método GetStore se puede usar para especificar que un almacén se debe trasladar con un perfil de usuario móvil. Para obtener información sobre cómo configurarlo, vea Almacenamiento aislado y movilidad.

Los almacenes aislados que se obtienen del interior de distintos ensamblados son, de forma predeterminada, distintos. Se puede tener acceso al almacén de otro ensamblado o dominio pasando evidencia de ensamblado o dominio distinta como los dos últimos parámetros del método GetStore. Esto requiere permiso para el acceso al almacenamiento aislado según la identidad de dominio de la aplicación. Para obtener más información, vea el método GetStore. Para obtener más información sobre los ensamblados, vea Ensamblados.

Cada uno de estos tres métodos devuelve un objeto IsolatedStorageFile. Para poder decidir qué tipo de aislamiento es el más adecuado para su situación, vea Tipos de aislamiento. Una vez que tenga un objeto de archivo de almacenamiento aislado, puede usar los métodos del almacenamiento aislado para leer, escribir, crear y eliminar archivos y directorios de archivos.

No hay ningún mecanismo que impida que el código pase un IsolatedStorageFile a código que no tenga acceso suficiente para obtener el almacén propiamente dicho. Las identidades de dominio y ensamblado, así como los permisos de almacenamiento aislado sólo se comprueban cuando se obtiene una referencia a un objeto IsolatedStorage, generalmente del método GetUserStoreForAssembly, GetUserStoreForDomain o GetStore. Por lo tanto, la protección de las referencias a objetos IsolatedStorageFile es responsabilidad del código que las usa.

Ejemplo de ObtainingAStore

El siguiente ejemplo de código es un ejemplo muy sencillo de una clase que obtiene un almacén aislado por usuario y ensamblado. El código se puede cambiar para recuperar un almacén aislado por usuario, dominio y ensamblado agregando IsolatedStorageScope.Domain a los argumentos que pasa el método GetStore.

Después de ejecutar el código, se puede confirmar que se creó un almacén escribiendo StoreAdm /LIST en la línea de comandos. Así se ejecuta la herramienta Almacenamiento aislado (Storeadm.exe) y se enumeran todos los almacenes aislados actuales del usuario. Para obtener más información sobre Storeadm.exe, vea la herramienta Almacenamiento aislado.

Imports System
Imports System.IO.IsolatedStorage

Public Module modmain

    Sub Main()

        ' Dimension a new IsolatedStorageFile.

        Dim isoStore As IsolatedStorageFile

        ' Set the IsolatedStorageFile to a store isolated by user and
        ' assembly.

        isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)

    End Sub
End Module
using System;
using System.IO.IsolatedStorage;

public class ObtainingAStore{
    public static void Main(){

        // Get a new isolated store for this assembly and put it into an
        // isolated store object.

        IsolatedStorageFile isoStore =  IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);

    }
}

Vea también

Referencia

IsolatedStorageFile
IsolatedStorageScope

Conceptos

Tipos de aislamiento

Otros recursos

Realizar tareas de almacenamiento aislado
Ensamblados en Common Language Runtime