Compartir a través de


Cómo: Obtener los almacenes de almacenamiento aislado

Un almacén expone un sistema de archivos virtual dentro de un compartimiento de datos. IsolatedStorageFile proporciona varios métodos para interactuar con un almacén. Para crear y recuperar almacenes, IsolatedStorageFile proporciona tres métodos estáticos. Llamar a GetUserStoreForAssembly devuelve almacenamiento aislado por usuario y ensamblado. Llamar a GetUserStoreForDomain devuelve almacenamiento aislado por dominio y ensamblado. 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 = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
    IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
    IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);
IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
    IsolatedStorageScope::Assembly | IsolatedStorageScope::Domain, (Type ^)nullptr, (Type ^)nullptr);

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 pruebas de ensamblado o dominio distintas 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.

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. Solo se comprueban las identidades de los dominios y ensamblados y los permisos de almacenamiento aislado cuando se obtiene una referencia a un objeto IsolatedStorage, normalmente en el método GetUserStoreForAssembly, GetStore o GetUserStoreForDomain. 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 Class ObtainingAStore
    Public Shared Sub Main()
        ' Get a new isolated store for this assembly and put it into an
        ' isolated store object.

        Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
            IsolatedStorageScope.Assembly, Nothing, Nothing)
    End Sub
End Class
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);
    }
}
using namespace System;
using namespace System::IO::IsolatedStorage;

public ref 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, (Type ^)nullptr, (Type ^)nullptr);
    }
};

Vea también

Referencia

IsolatedStorageFile

IsolatedStorageScope

Conceptos

Almacenamiento aislado

Tipos de aislamiento

Ensamblados en Common Language Runtime