Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

IsolatedStorageContainment (Enumeración)

Especifica el uso permitido para el almacenamiento aislado.

Espacio de nombres:  System.Security.Permissions
Ensamblado:  mscorlib (en mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum IsolatedStorageContainment

Nombre de miembroDescripción
AdministerIsolatedStorageByUserPosibilidad de administración limitada para el almacén de usuario. Permite explorar y eliminar de todo el almacén de usuario, pero no concede acceso de lectura a otra identidad que no sea la propia identidad del dominio/ensamblado del usuario.
ApplicationIsolationByMachineEl almacenamiento está aislado primero por el equipo y a continuación por la aplicación. Esto proporciona un almacén de datos para la aplicación accesible en cualquier contexto de dominio. El compartimiento de datos por aplicación requiere una confianza adicional ya que abre un posible "túnel" entre aplicaciones que podría comprometer el aislamiento de datos en determinados sitios Web.
ApplicationIsolationByRoamingUserEl almacenamiento está aislado primero por el usuario y a continuación por la prueba de la aplicación. El almacenamiento se moverá si está habilitada la movilidad de datos de usuario de Windows. Esto proporciona un almacén de datos para la aplicación accesible en cualquier contexto de dominio. El compartimiento de datos por aplicación requiere una confianza adicional ya que abre un posible "túnel" entre aplicaciones que podría comprometer el aislamiento de datos en determinados sitios Web.
ApplicationIsolationByUserEl almacenamiento está aislado primero por el usuario y a continuación por la aplicación. El equipo también aísla el almacenamiento. Esto proporciona un almacén de datos para la aplicación accesible en cualquier contexto de dominio. El compartimiento de datos por aplicación requiere una confianza adicional ya que abre un posible "túnel" entre aplicaciones que podría comprometer el aislamiento de datos en determinados sitios Web.
AssemblyIsolationByMachineEl almacenamiento está aislado primero por el equipo y a continuación por el ensamblado de código Esto proporciona un almacén de datos para el ensamblado accesible en cualquier contexto de dominio. El compartimiento de datos por ensamblado requiere confianza adicional debido a que potencialmente proporciona un "túnel" entre aplicaciones que puede comprometer el aislamiento de datos de aplicaciones en sitios Web determinados.
AssemblyIsolationByRoamingUserPrimero, el usuario aísla el almacenamiento y, a continuación, lo aísla la prueba del ensamblado. El almacenamiento se moverá si está habilitada la movilidad de datos de usuario de Windows. Esto proporciona un almacén de datos para el ensamblado accesible en cualquier contexto de dominio. El compartimiento de datos por ensamblado requiere confianza adicional debido a que potencialmente proporciona un "túnel" entre aplicaciones que puede comprometer el aislamiento de datos de aplicaciones en sitios Web determinados.
AssemblyIsolationByUserPrimero, el usuario aísla el almacenamiento y, a continuación, lo aísla el ensamblado de código. El equipo también aísla el almacenamiento. Esto proporciona un almacén de datos para el ensamblado accesible en cualquier contexto de dominio. El compartimiento de datos por ensamblado requiere confianza adicional debido a que potencialmente proporciona un "túnel" entre aplicaciones que puede comprometer el aislamiento de datos de aplicaciones en sitios Web determinados.
DomainIsolationByMachineEl almacenamiento está aislado primero por el equipo y a continuación por dominio y ensamblado. Solamente se puede obtener acceso a los datos dentro del contexto de la misma aplicación y únicamente cuando se ejecuta en el mismo equipo. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.
DomainIsolationByRoamingUserPrimero, el usuario aísla el almacenamiento y, a continuación, lo aíslan el dominio y el ensamblado. El almacenamiento se moverá si está habilitada la movilidad de datos de usuario de Windows. Solamente se puede obtener acceso a los datos dentro del contexto de la misma aplicación y únicamente cuando la ejecuta el mismo usuario. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.
DomainIsolationByUserPrimero, el usuario aísla el almacenamiento y, a continuación, lo aíslan el dominio y el ensamblado. El equipo también aísla el almacenamiento. Solamente se puede obtener acceso a los datos dentro del contexto de la misma aplicación y únicamente cuando la ejecuta el mismo usuario. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.
NoneNo se permite el uso del almacenamiento aislado.
UnrestrictedIsolatedStorageSe permite el uso del almacenamiento aislado sin restricciones. El código tiene acceso completo a cualquier parte del almacén de usuario, independientemente de la identidad del dominio o del ensamblado. Este uso del almacenamiento aislado incluye la posibilidad de enumerar el contenido del almacén de datos de almacenamiento aislado.

El almacenamiento aislado utiliza la evidencia con el fin de determinar un área de almacenamiento única para que la utilice una aplicación o un componente. La identidad de un ensamblado determina de forma única la raíz de un sistema de archivos virtual para que la utilice ese ensamblado. De este modo, en lugar de que muchas aplicaciones y componentes compartan un recurso común como el Registro o el sistema de archivos, cada uno tiene asignada de forma inherente su propia área de archivos.

Se utilizan cuatro ámbitos de aislamiento básicos cuando se asigna el almacenamiento aislado:

  • User : el ámbito del código se establece siempre según el usuario actual. El mismo ensamblado recibirá almacenamientos distintos cuando lo estén ejecutando usuarios diferentes.

  • Machine : el ámbito del código se establece siempre según el equipo El mismo ensamblado recibirá los mismos almacenes al ser ejecutado por usuarios diferentes en el mismo equipo.

  • Assembly : el código se identifica con cifrado mediante un nombre seguro (por ejemplo, Microsoft.Office.* o Microsoft.Office.Word), mediante un fabricante (según una clave pública), mediante una dirección URL (por ejemplo, http://cia_cafetera_buen_grano.com.co/proceso/moler.htm), mediante un sitio o mediante una zona.

  • Domain : el código se identifica según la prueba asociada al dominio de la aplicación. La identidad de la aplicación Web se deriva de la dirección URL del sitio o se obtiene mediante el sitio, la zona o la dirección URL de la página Web. La identidad del código local se basa en la ruta de acceso al directorio de la aplicación.

Para obtener definiciones de dirección URL, sitio y zona, vea UrlIdentityPermission, SiteIdentityPermission y ZoneIdentityPermission.

Estas identidades se pueden agrupar, en cuyo caso las identidades se aplican una tras otra hasta que se crea el almacenamiento aislado deseado. Los agrupamientos válidos son Usuario+Ensamblado y Usuario+Ensamblado+Dominio. Este agrupamiento de identidades es útil en muchas aplicaciones diferentes.

Si los datos se almacenan por dominio, usuario y ensamblado, los datos serán privados en cuanto a que sólo el código de ese ensamblado puede obtener acceso a los datos. El almacén de datos está también aislado por la aplicación en la que se ejecuta, de modo que el ensamblado no representa una filtración potencial mediante la exposición de datos a otras aplicaciones.

El aislamiento por ensamblado y usuario se puede utilizar para datos de usuario que se aplican a varias aplicaciones; por ejemplo, información de licencia o información personal de un usuario (nombre, credenciales de autenticación, etc.) que es independiente de una aplicación.

IsolatedStorageContainment expone marcadores que determinan si se permite que una aplicación utilice el almacenamiento aislado y, si es así, qué combinaciones de identidad pueden utilizarlo. También determina si una aplicación puede almacenar información en una ubicación que puede moverse con un usuario (tienen que configurarse la Redirección de carpetas o los Perfiles de usuario móvil de Windows).

En este ejemplo se explica cómo indicarle a CLR que el código del ensamblado exige IsolatedStoragePermission y cómo leer y escribir en almacenamientos aislados.


using System;
using System.Security.Permissions;
using System.IO.IsolatedStorage;
using System.IO;

// Notify the CLR to only grant IsolatedStorageFilePermission to called methods. 
// This restricts the called methods to working only with storage files that are isolated 
// by user and assembly.
[IsolatedStorageFilePermission(SecurityAction.PermitOnly, UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByUser)]
public sealed class App
{
    static void Main()
    {
        WriteIsolatedStorage();

    }
    private static void WriteIsolatedStorage()
    {
        // Attempt to create a storage file that is isolated by user and assembly.
        // IsolatedStorageFilePermission granted to the attribute at the top of this file 
        // allows CLR to load this assembly and execution of this statement.
        using (Stream s = new IsolatedStorageFileStream("AssemblyData", FileMode.Create, IsolatedStorageFile.GetUserStoreForAssembly()))
        {

            // Write some data out to the isolated file.
            using (StreamWriter sw = new StreamWriter(s))
            {
                sw.Write("This is some test data.");
            }
        }

        // Attempt to open the file that was previously created.
        using (Stream s = new IsolatedStorageFileStream("AssemblyData", FileMode.Open, IsolatedStorageFile.GetUserStoreForAssembly()))
        {
            // Read the data from the file and display it.
            using (StreamReader sr = new StreamReader(s))
            {
                Console.WriteLine(sr.ReadLine());
            }
        }
    }
}

// This code produces the following output.
//
//  Some test data.


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft