Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Enumeración IsolatedStorageContainment

 

Publicado: octubre de 2016

Especifica el uso permitido de almacenamiento aislado.

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

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

Nombre de miembroDescripción
AdministerIsolatedStorageByUser

Capacidad de administración limitada para el almacén de usuario. Permite explorar y eliminar del almacén de usuario completo, pero no el acceso de lectura que no sea la identidad del dominio/ensamblado del usuario.

ApplicationIsolationByMachine

El almacenamiento está aislado primero por el equipo y, a continuación, por aplicación. Esto proporciona un almacén de datos de la aplicación que es accesible en cualquier contexto de dominio. El compartimiento de datos por aplicación requiere confianza adicional debido a que potencialmente proporciona un "túnel" entre aplicaciones que podría comprometer el aislamiento de los datos de aplicaciones en sitios Web determinados.

ApplicationIsolationByRoamingUser

El almacenamiento está aislado primero por el usuario y, a continuación, 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 de la aplicación que es accesible en cualquier contexto de dominio. El compartimiento de datos por aplicación requiere confianza adicional debido a que potencialmente proporciona un "túnel" entre aplicaciones que podría comprometer el aislamiento de los datos de aplicaciones en sitios Web determinados.

ApplicationIsolationByUser

El almacenamiento está aislado primero por el usuario y, a continuación, por aplicación. Equipo también aísla el almacenamiento. Esto proporciona un almacén de datos de la aplicación que es accesible en cualquier contexto de dominio. El compartimiento de datos por aplicación requiere confianza adicional debido a que potencialmente proporciona un "túnel" entre aplicaciones que podría comprometer el aislamiento de los datos de aplicaciones en sitios Web determinados.

AssemblyIsolationByMachine

El almacenamiento está aislado primero por el equipo y, a continuación, el ensamblado de código. Esto proporciona un almacén de datos para el ensamblado que es 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 podría comprometer el aislamiento de los datos de aplicaciones en sitios Web determinados.

AssemblyIsolationByRoamingUser

El almacenamiento está aislado primero por el usuario y, a continuación, evidencia 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 que es 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 podría comprometer el aislamiento de los datos de aplicaciones en sitios Web determinados.

AssemblyIsolationByUser

El almacenamiento está aislado primero por el usuario y, a continuación, el ensamblado de código. Equipo también aísla el almacenamiento. Esto proporciona un almacén de datos para el ensamblado que es 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 podría comprometer el aislamiento de los datos de aplicaciones en sitios Web determinados.

DomainIsolationByMachine

El almacenamiento está aislado primero por el equipo y, a continuación, por dominio y ensamblado. Sólo pueden tener acceso a 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.

DomainIsolationByRoamingUser

El almacenamiento está aislado primero por el usuario y, a continuación, por dominio y ensamblado. El almacenamiento se moverá si está habilitada la movilidad de datos de usuario de Windows. Sólo pueden tener acceso a datos en el contexto de la misma aplicación y únicamente cuando se ejecuta el mismo usuario. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.

DomainIsolationByUser

El almacenamiento está aislado primero por el usuario y, a continuación, por dominio y ensamblado. Equipo también aísla el almacenamiento. Sólo pueden tener acceso a datos en el contexto de la misma aplicación y únicamente cuando se ejecuta el mismo usuario. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.

None

No se permite el uso del almacenamiento aislado.

UnrestrictedIsolatedStorage

Se permite el uso del almacenamiento aislado sin restricciones. Código tiene acceso total a cualquier parte del almacén de usuario, independientemente de la identidad del dominio o del ensamblado. Este uso del almacenamiento aislado incluye la capacidad para enumerar el contenido del almacén de datos de almacenamiento aislado.

El almacenamiento aislado utiliza la evidencia para determinar un área de almacenamiento único para su uso por una aplicación o componente. La identidad de un ensamblado determina de manera exclusiva la raíz de un sistema de archivos virtual para que utilice ese ensamblado. Por lo tanto, en lugar de muchas aplicaciones y componentes compartan un recurso común como el sistema de archivos o del registro, cada uno tiene su propia área de archivo asignada de forma inherente.

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

  • User -Código de ámbito se establece siempre según el usuario actual. El mismo ensamblado recibirá almacenamientos distintos al ser ejecutado por usuarios diferentes.

  • Machine -Código de ámbito 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 -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 dirección URL (por ejemplo, http://www.fourthcoffee.com/process/grind.htm), sitio o mediante una zona.

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

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

Estas identidades se agrupan juntos, en cuyo caso las identidades se aplican una tras otra hasta que se crea el almacenamiento aislado deseado. Los agrupamientos válidos son de usuario, ensamblado y + ensamblado + dominio del usuario. Este agrupamiento de identidades es útil en muchas aplicaciones diferentes.

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

Aislamiento por usuario y ensamblado podría usarse 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 indicadores que determinan si una aplicación puede usar 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 (los perfiles móviles de usuario de Windows o la redirección de carpetas debe estar configurada).

Este ejemplo muestra cómo indicarle a CLR que el código en este ensamblado requiere el IsolatedStoragePermission y también se muestra cómo escribir y leer desde el almacenamiento aislado.

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
Disponible desde 1.1
Volver al principio
Mostrar: