Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un almacén aislado expone un sistema de archivos virtual dentro de un compartimiento de datos. La IsolatedStorageFile clase proporciona una serie de métodos para interactuar con un almacén aislado. Para crear y recuperar almacenes, IsolatedStorageFile proporciona tres métodos estáticos:
GetUserStoreForAssembly devuelve almacenamiento que está aislado por usuario y ensamblaje.
GetUserStoreForDomain devuelve el almacenamiento aislado por dominio y ensamblaje.
Ambos métodos recuperan un almacén que pertenece al código desde el cual son llamados.
El método GetStore estático devuelve un almacén aislado especificado pasando una combinación de parámetros de ámbito.
El código siguiente devuelve un almacén aislado por usuario, ensamblado y dominio.
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);
Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
Puede usar el método GetStore para especificar que un almacén debe asociarse con un perfil de usuario itinerante. Para obtener más información sobre cómo configurar esto, consulte Tipos de aislamiento.
Los almacenes aislados obtenidos de los distintos ensamblados son, de forma predeterminada, diferentes almacenes. Puede acceder al almacén de un ensamblado o dominio diferente, pasando la evidencia de ensamblado o dominio en los parámetros del método GetStore. Esto requiere permiso para acceder al almacenamiento aislado por identidad de dominio de aplicación. Para obtener más información, consulte las sobrecargas del método GetStore.
Los GetUserStoreForAssemblymétodos , GetUserStoreForDomainy GetStore devuelven un IsolatedStorageFile objeto . Para ayudarle a decidir qué tipo de aislamiento es más adecuado para su situación, consulte Tipos de aislamiento. Cuando tenga un objeto de archivo de almacenamiento aislado, puede usar los métodos de almacenamiento aislados para leer, escribir, crear y eliminar archivos y directorios.
No hay ningún mecanismo que impida que el código pase un IsolatedStorageFile objeto a otro código que no tenga acceso suficiente para obtener el almacén en sí. Las identidades de dominio y ensamblado y los permisos de almacenamiento aislado solo se comprueban cuando se obtiene una referencia a un objeto IsolatedStorage, normalmente en el método GetUserStoreForAssembly, GetUserStoreForDomain o GetStore. La protección de las referencias a IsolatedStorageFile objetos es, por lo tanto, la responsabilidad del código que usa estas referencias.
Ejemplo
El código siguiente proporciona un ejemplo sencillo de una clase que logra obtener un almacén aislado según el usuario y el ensamblado. El código se puede cambiar para recuperar un almacén aislado por el usuario, el dominio y el ensamblado agregando IsolatedStorageScope.Domain a los argumentos que pasa el GetStore método.
Después de ejecutar el código, puede confirmar que se creó un almacén escribiendo StoreAdm /LIST en la línea de comandos. Esto ejecuta la herramienta Almacenamiento aislado (Storeadm.exe) y enumera todos los almacenes aislados actuales para el usuario.
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);
}
}
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