IsolatedStorageContainment IsolatedStorageContainment IsolatedStorageContainment IsolatedStorageContainment Enum

Definición

Especifica el uso permitido para el almacenamiento aislado.Specifies the permitted use of isolated storage.

public enum class IsolatedStorageContainment
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum IsolatedStorageContainment
type IsolatedStorageContainment = 
Public Enum IsolatedStorageContainment
Herencia
IsolatedStorageContainmentIsolatedStorageContainmentIsolatedStorageContainmentIsolatedStorageContainment
Atributos

Campos

AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser 112

Posibilidad de administración limitada para el almacén de usuario.Unlimited administration ability for the user store. 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.Allows browsing and deletion of the entire user store, but not read access other than the user's own domain/assembly identity.

ApplicationIsolationByMachine ApplicationIsolationByMachine ApplicationIsolationByMachine ApplicationIsolationByMachine 69

El almacenamiento está aislado primero por el equipo y a continuación por la aplicación.Storage is isolated first by computer and then by application. Esto proporciona un almacén de datos para la aplicación accesible en cualquier contexto de dominio.This provides a data store for the application that is accessible in any domain context. 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.The per-application data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites.

ApplicationIsolationByRoamingUser ApplicationIsolationByRoamingUser ApplicationIsolationByRoamingUser ApplicationIsolationByRoamingUser 101

El almacenamiento está aislado primero por el usuario y a continuación por la prueba de la aplicación.Storage is isolated first by user and then by application evidence. El almacenamiento se moverá si está habilitada la movilidad de datos de usuario de Windows.Storage will roam if Windows user data roaming is enabled. Esto proporciona un almacén de datos para la aplicación accesible en cualquier contexto de dominio.This provides a data store for the application that is accessible in any domain context. 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.The per-application data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites.

ApplicationIsolationByUser ApplicationIsolationByUser ApplicationIsolationByUser ApplicationIsolationByUser 21

El almacenamiento está aislado primero por el usuario y a continuación por la aplicación.Storage is isolated first by user and then by application. El equipo también aísla el almacenamiento.Storage is also isolated by computer. Esto proporciona un almacén de datos para la aplicación accesible en cualquier contexto de dominio.This provides a data store for the application that is accessible in any domain context. 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.The per-application data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites.

AssemblyIsolationByMachine AssemblyIsolationByMachine AssemblyIsolationByMachine AssemblyIsolationByMachine 64

El almacenamiento está aislado primero por el equipo y a continuación por el ensamblado de códigoStorage is isolated first by computer and then by code assembly. Esto proporciona un almacén de datos para el ensamblado accesible en cualquier contexto de dominio.This provides a data store for the assembly that is accessible in any domain context. 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.The per-assembly data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites.

AssemblyIsolationByRoamingUser AssemblyIsolationByRoamingUser AssemblyIsolationByRoamingUser AssemblyIsolationByRoamingUser 96

Primero, el usuario aísla el almacenamiento y, a continuación, lo aísla la prueba del ensamblado.Storage is isolated first by user and then by assembly evidence. El almacenamiento se moverá si está habilitada la movilidad de datos de usuario de Windows.Storage will roam if Windows user data roaming is enabled. Esto proporciona un almacén de datos para el ensamblado accesible en cualquier contexto de dominio.This provides a data store for the assembly that is accessible in any domain context. 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.The per-assembly data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites.

AssemblyIsolationByUser AssemblyIsolationByUser AssemblyIsolationByUser AssemblyIsolationByUser 32

Primero, el usuario aísla el almacenamiento y, a continuación, lo aísla el ensamblado de código.Storage is isolated first by user and then by code assembly. El equipo también aísla el almacenamiento.Storage is also isolated by computer. Esto proporciona un almacén de datos para el ensamblado accesible en cualquier contexto de dominio.This provides a data store for the assembly that is accessible in any domain context. 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.The per-assembly data compartment requires additional trust because it potentially provides a "tunnel" between applications that could compromise the data isolation of applications in particular Web sites.

DomainIsolationByMachine DomainIsolationByMachine DomainIsolationByMachine DomainIsolationByMachine 48

El almacenamiento está aislado primero por el equipo y a continuación por dominio y ensamblado.Storage is isolated first by computer and then by domain and assembly. 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.Data can only be accessed within the context of the same application and only when run on the same computer. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.This is helpful when a third-party assembly wants to keep a private data store.

DomainIsolationByRoamingUser DomainIsolationByRoamingUser DomainIsolationByRoamingUser DomainIsolationByRoamingUser 80

Primero, el usuario aísla el almacenamiento y, a continuación, lo aíslan el dominio y el ensamblado.Storage is isolated first by user and then by domain and assembly. El almacenamiento se moverá si está habilitada la movilidad de datos de usuario de Windows.Storage will roam if Windows user data roaming is enabled. Solamente se puede obtener acceso a los datos dentro del contexto de la misma aplicación y únicamente cuando la ejecuta el mismo usuario.Data can only be accessed within the context of the same application and only when run by the same user. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.This is helpful when a third-party assembly wants to keep a private data store.

DomainIsolationByUser DomainIsolationByUser DomainIsolationByUser DomainIsolationByUser 16

Primero, el usuario aísla el almacenamiento y, a continuación, lo aíslan el dominio y el ensamblado.Storage is isolated first by user and then by domain and assembly. El equipo también aísla el almacenamiento.Storage is also isolated by computer. Solamente se puede obtener acceso a los datos dentro del contexto de la misma aplicación y únicamente cuando la ejecuta el mismo usuario.Data can only be accessed within the context of the same application and only when run by the same user. Esto es útil cuando un ensamblado de terceros desea mantener un almacén de datos privado.This is helpful when a third-party assembly wants to keep a private data store.

None None None None 0

No se permite el uso del almacenamiento aislado.Use of isolated storage is not allowed.

UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage 240

Se permite el uso del almacenamiento aislado sin restricciones.Use of isolated storage is allowed without restriction. El código tiene acceso completo a cualquier parte del almacén de usuario, independientemente de la identidad del dominio o del ensamblado.Code has full access to any part of the user store, regardless of the identity of the domain or assembly. Este uso del almacenamiento aislado incluye la posibilidad de enumerar el contenido del almacén de datos de almacenamiento aislado.This use of isolated storage includes the ability to enumerate the contents of the isolated storage data store.

Ejemplos

En este ejemplo se muestra cómo indicar 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.This example shows how to tell the CLR that code in this assembly requires the IsolatedStoragePermission and also demonstrates how to write and read from isolated storage.

using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::IO::IsolatedStorage;
using namespace System::IO;


static void WriteIsolatedStorage()
{
    try
    {
        // 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.
        Stream^ fileCreateStream = gcnew
            IsolatedStorageFileStream(
            "AssemblyData",
            FileMode::Create,
            IsolatedStorageFile::GetUserStoreForAssembly());

        StreamWriter^ streamWriter = gcnew StreamWriter(
            fileCreateStream);
        try
        {
            // Write some data out to the isolated file.

            streamWriter->Write("This is some test data.");
            streamWriter->Close();	
        }
        finally
        {
            delete fileCreateStream;
            delete streamWriter;
        } 
    }
    catch (IOException^ ex)
    {
        Console::WriteLine(ex->Message);
    }

    try
    {
        Stream^ fileOpenStream =
            gcnew IsolatedStorageFileStream(
            "AssemblyData",
            FileMode::Open,
            IsolatedStorageFile::GetUserStoreForAssembly());
        // Attempt to open the file that was previously created.

        StreamReader^ streamReader = gcnew StreamReader(
            fileOpenStream);
        try
        { 
            // Read the data from the file and display it.

            Console::WriteLine(streamReader->ReadLine());
            streamReader->Close();
        }
        finally
        {
            delete fileOpenStream;
            delete streamReader;
        }
    }
    catch (FileNotFoundException^ ex)
    {
        Console::WriteLine(ex->Message);
    }
    catch (IOException^ ex)
    {
        Console::WriteLine(ex->Message);
    }
}
// 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)]
int main()
{
	WriteIsolatedStorage();
}

// This code produces the following output.
//
//  This is some test data.
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.
Option Strict On
Imports System
Imports System.Security.Permissions
Imports System.IO.IsolatedStorage
Imports 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 NotInheritable Class App

    Shared Sub Main()
        WriteIsolatedStorage()
    End Sub 'Main
    Shared Sub 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.
        Dim s As New IsolatedStorageFileStream("AssemblyData", FileMode.Create, IsolatedStorageFile.GetUserStoreForAssembly())
        Try

            ' Write some data out to the isolated file.
            Dim sw As New StreamWriter(s)
            Try
                sw.Write("This is some test data.")
            Finally
                sw.Dispose()
            End Try
        Finally
            s.Dispose()
        End Try

        ' Attempt to open the file that was previously created.
        Dim t As New IsolatedStorageFileStream("AssemblyData", FileMode.Open, IsolatedStorageFile.GetUserStoreForAssembly())
        Try
            ' Read the data from the file and display it.
            Dim sr As New StreamReader(t)
            Try
                Console.WriteLine(sr.ReadLine())
            Finally
                sr.Dispose()
            End Try
        Finally
            t.Dispose()
        End Try

    End Sub
End Class 'App

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

Comentarios

Almacenamiento aislado usa las evidencias para determinar un área de almacenamiento único para su uso por una aplicación o componente.Isolated storage uses evidence to determine a unique storage area for use by an application or component. La identidad de un ensamblado determina de manera exclusiva la raíz de un sistema de archivos virtual para su uso en ese ensamblado.The identity of an assembly uniquely determines the root of a virtual file system for use by that assembly. Por lo tanto, en lugar de muchas aplicaciones y componentes de un recurso común, como el sistema de archivos o el registro de uso compartido, cada uno tiene su propia área de archivo asignada de forma inherente.Thus, rather than many applications and components sharing a common resource such as the file system or registry, each has its own file area inherently assigned to it.

Al asignar el almacenamiento aislado, se utilizan cuatro ámbitos de aislamiento básicos:Four basic isolation scopes are used when assigning isolated storage:

  • User -Código siempre se limita según el usuario actual.User - Code is always scoped according to the current user. El mismo ensamblado recibirá almacenes diferentes cuando se esté ejecutando por usuarios diferentes.The same assembly will receive different stores when being run by different users.

  • Machine -Código siempre se limita según el equipo.Machine - Code is always scoped according to the machine. El mismo ensamblado recibirá los mismos almacenes al ser ejecutado por usuarios diferentes en el mismo equipo.The same assembly will receive the same stores when being run by different users on the same machine.

  • Assembly : El código se identifica criptográficamente por nombre seguro (por ejemplo, Microsoft.Office o Microsoft.Office.Word) por el publicador (en función de clave pública), mediante la dirección URL (por ejemplo, http://www.fourthcoffee.com/process/grind.htm), sitio o por zona.Assembly - Code is identified cryptographically by strong name (for example, Microsoft.Office.* or Microsoft.Office.Word), by publisher (based on public key), by URL (for example, http://www.fourthcoffee.com/process/grind.htm), by site, or by zone.

  • Domain : El código se identifica según la evidencia asociada con el dominio de aplicación.Domain - Code is identified based on evidence associated with the application domain. 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.Web application identity is derived from the site's URL, or by the Web page's URL, site, or zone. Identidad del código local se basa en la ruta de acceso del directorio de aplicación.Local code identity is based on the application directory path.

Para obtener definiciones de dirección URL del sitio y zona, consulte UrlIdentityPermission, SiteIdentityPermission, y ZoneIdentityPermission.For definitions of URL, site, and zone, see UrlIdentityPermission, SiteIdentityPermission, and ZoneIdentityPermission.

Estas identidades se agrupan juntos, en cuyo caso las identidades se aplican una tras otra hasta que se crea el almacenamiento aislado deseado.These identities are grouped together, in which case the identities are applied one after another until the desired isolated storage is created. Las agrupaciones válidas son + el ensamblado de usuario y ensamblado + dominio / usuario.The valid groupings are User+Assembly and User+Assembly+Domain. Esta agrupación de identidades es útil en muchas aplicaciones diferentes.This grouping of identities is useful in many different applications.

Si los datos se almacenan por dominio, usuario y ensamblado, los datos son privados en la que sólo el código en que el ensamblado puede tener acceso a los datos.If data is stored by domain, user, and assembly, the data is private in that only code in that assembly can access the data. El almacén de datos también está aislado por la aplicación en el que se ejecuta, por lo que el ensamblado no representa una posible pérdida de mediante la exposición de datos a otras aplicaciones.The data store is also isolated by the application in which it runs, so that the assembly does not represent a potential leak by exposing data to other applications.

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, las credenciales de autenticación etc.) que es independiente de una aplicación.Isolation by assembly and user could be used for user data that applies across multiple applications; for example, license information, or a user's personal information (name, authentication credentials, and so on) that is independent of an application.

IsolatedStorageContainment expone las marcas que determinan si una aplicación puede usar el almacenamiento aislado y, si es así, qué combinaciones de identidad pueden usarlo.IsolatedStorageContainment exposes flags that determine whether an application is allowed to use isolated storage and, if so, which identity combinations are allowed to use it. También determina si una aplicación puede almacenar información en una ubicación que puede moverse con un usuario (se debe configurar los perfiles móviles de usuario de Windows o la redirección de carpetas).It also determines whether an application is allowed to store information in a location that can roam with a user (Windows Roaming User Profiles or Folder Redirection must be configured).

Se aplica a

Consulte también: