IsolatedStorageContainment IsolatedStorageContainment IsolatedStorageContainment IsolatedStorageContainment Enum

Definizione

Specifica l'utilizzo consentito dello spazio di memorizzazione isolato.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
Ereditarietà
IsolatedStorageContainmentIsolatedStorageContainmentIsolatedStorageContainmentIsolatedStorageContainment
Attributi

Campi

AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser 112

Capacità amministrative illimitate per l’archivio utente.Unlimited administration ability for the user store. Consente di sfogliare ed eliminare tutto l'archivio utente, ma concede l’accesso in lettura solo all'identità dominio/assembly dell'utente.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

L'archiviazione è isolata innanzitutto in base al computer, quindi all'applicazione.Storage is isolated first by computer and then by application. In questo modo è disponibile un archivio dati per l'applicazione accessibile in qualsiasi contesto di dominio.This provides a data store for the application that is accessible in any domain context. Il contesto dati per applicazione richiede ulteriore attendibilità in quanto fornisce un potenziale tunnel tra le applicazioni che può compromettere l'isolamento dei dati in particolari siti 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

L'archiviazione è isolata innanzitutto in base all'utente, quindi all'evidenza dell'applicazione.Storage is isolated first by user and then by application evidence. e diventa comune se è abilitato il profilo comune dei dati utente Windows.Storage will roam if Windows user data roaming is enabled. In questo modo è disponibile un archivio dati per l'applicazione accessibile in qualsiasi contesto di dominio.This provides a data store for the application that is accessible in any domain context. Il contesto dati per applicazione richiede ulteriore attendibilità in quanto fornisce un potenziale tunnel tra le applicazioni che può compromettere l'isolamento dei dati in particolari siti 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

L'archiviazione è isolata innanzitutto in base all'utente, quindi all'applicazione.Storage is isolated first by user and then by application. nonché al computer.Storage is also isolated by computer. In questo modo è disponibile un archivio dati per l'applicazione accessibile in qualsiasi contesto di dominio.This provides a data store for the application that is accessible in any domain context. Il contesto dati per applicazione richiede ulteriore attendibilità in quanto fornisce un potenziale tunnel tra le applicazioni che può compromettere l'isolamento dei dati in particolari siti 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

L'archiviazione è isolata innanzitutto in base al computer, quindi all’assembly di codice.Storage is isolated first by computer and then by code assembly. In questo modo è disponibile un archivio dati per l'assembly accessibile in qualsiasi contesto di dominio.This provides a data store for the assembly that is accessible in any domain context. Il contesto dati per assembly richiede ulteriore attendibilità in quanto fornisce un potenziale tunnel tra le applicazioni che può compromettere l'isolamento dei dati in particolari siti Web.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

L'archiviazione è isolata innanzitutto in base all'utente, quindi all'evidenza dell'assemblyStorage is isolated first by user and then by assembly evidence. e diventa comune se è abilitato il profilo comune dei dati utente Windows.Storage will roam if Windows user data roaming is enabled. In questo modo è disponibile un archivio dati per l'assembly accessibile in qualsiasi contesto di dominio.This provides a data store for the assembly that is accessible in any domain context. Il contesto dati per assembly richiede ulteriore attendibilità in quanto fornisce un potenziale tunnel tra le applicazioni che può compromettere l'isolamento dei dati in particolari siti Web.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

L'archiviazione è isolata in base all’utente e all’assembly,Storage is isolated first by user and then by code assembly. nonché al computer.Storage is also isolated by computer. In questo modo è disponibile un archivio dati per l'assembly accessibile in qualsiasi contesto di dominio.This provides a data store for the assembly that is accessible in any domain context. Il contesto dati per assembly richiede ulteriore attendibilità in quanto fornisce un potenziale tunnel tra le applicazioni che può compromettere l'isolamento dei dati in particolari siti Web.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

L'archiviazione è isolata innanzitutto in base al computer, quindi al dominio e all’assembly.Storage is isolated first by computer and then by domain and assembly. È possibile accedere ai dati solo nel contesto della stessa applicazione e solo se questa viene eseguita sullo stesso computer.Data can only be accessed within the context of the same application and only when run on the same computer. Questa possibilità risulta utile quando è richiesta la gestione di un archivio dati privato per un assembly di terze parti.This is helpful when a third-party assembly wants to keep a private data store.

DomainIsolationByRoamingUser DomainIsolationByRoamingUser DomainIsolationByRoamingUser DomainIsolationByRoamingUser 80

L'archiviazione è isolata in base all’utente, al dominio e all’assembly,Storage is isolated first by user and then by domain and assembly. e diventa comune se è abilitato il profilo comune dei dati utente Windows.Storage will roam if Windows user data roaming is enabled. È possibile accedere ai dati solo nel contesto della stessa applicazione e solo se eseguita dallo stesso utente.Data can only be accessed within the context of the same application and only when run by the same user. Questa possibilità risulta utile quando è richiesta la gestione di un archivio dati privato per un assembly di terze parti.This is helpful when a third-party assembly wants to keep a private data store.

DomainIsolationByUser DomainIsolationByUser DomainIsolationByUser DomainIsolationByUser 16

L'archiviazione è isolata in base all’utente, al dominio e all’assembly,Storage is isolated first by user and then by domain and assembly. nonché al computer.Storage is also isolated by computer. È possibile accedere ai dati solo nel contesto della stessa applicazione e solo se eseguita dallo stesso utente.Data can only be accessed within the context of the same application and only when run by the same user. Questa possibilità risulta utile quando è richiesta la gestione di un archivio dati privato per un assembly di terze parti.This is helpful when a third-party assembly wants to keep a private data store.

None None None None 0

Non è consentito l'utilizzo dello spazio di memorizzazione isolato.Use of isolated storage is not allowed.

UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage 240

L'utilizzo dello spazio di memorizzazione isolato è consentito senza restrizioni.Use of isolated storage is allowed without restriction. Con il codice si dispone di accesso completo a qualsiasi parte dell'archivio utente, indipendentemente dall'identità del dominio o dell'assembly.Code has full access to any part of the user store, regardless of the identity of the domain or assembly. Questo utilizzo dello spazio di memorizzazione isolato include la capacità di enumerare i contenuti dell'archivio dati dello spazio di memorizzazione isolato.This use of isolated storage includes the ability to enumerate the contents of the isolated storage data store.

Esempi

Questo esempio viene illustrato come indicare a CLR che il codice in questo assembly richiede la IsolatedStoragePermission e viene inoltre illustrato come scrivere e leggere dallo spazio di memorizzazione isolato.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.

Commenti

Spazio di memorizzazione isolato Usa evidenza per determinare un'area di archiviazione univoco per l'uso da un'applicazione o componente.Isolated storage uses evidence to determine a unique storage area for use by an application or component. L'identità di un assembly determina in modo univoco la radice di un file system virtuale per l'uso da tale assembly.The identity of an assembly uniquely determines the root of a virtual file system for use by that assembly. In questo modo, invece di molte applicazioni e componenti che condividono una risorsa comune, ad esempio il file system o Registro di sistema, ognuno ha la propria area file intrinsecamente assegnata a esso.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.

Quattro gli ambiti di isolamento di base vengono utilizzati durante l'assegnazione di memorizzazione isolato:Four basic isolation scopes are used when assigning isolated storage:

  • User -L'ambito codice è sempre in base all'utente corrente.User - Code is always scoped according to the current user. Quando viene eseguita da utenti diversi, nello stesso assembly riceveranno diversi archivi.The same assembly will receive different stores when being run by different users.

  • Machine -L'ambito codice è sempre in base al computer.Machine - Code is always scoped according to the machine. L'assembly stesso riceverà gli stessi archivi quando viene eseguita da utenti diversi nello stesso computer.The same assembly will receive the same stores when being run by different users on the same machine.

  • Assembly : Il codice viene identificato con crittografia in base al nome sicuro (ad esempio, Microsoft.Office.* o Microsoft.Office.Word), dal server di pubblicazione (chiave pubblica base), dall'URL (ad esempio, http://www.fourthcoffee.com/process/grind.htm), dal sito o dall'area.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 : Il codice viene identificato in base all'evidenza associata al dominio dell'applicazione.Domain - Code is identified based on evidence associated with the application domain. Identità dell'applicazione Web è derivato dall'URL del sito, o dall'URL della pagina Web, siti o area.Web application identity is derived from the site's URL, or by the Web page's URL, site, or zone. Identità del codice locale è basato sul percorso di directory dell'applicazione.Local code identity is based on the application directory path.

Per le definizioni di URL, sito e la zona, vedere UrlIdentityPermission, SiteIdentityPermission, e ZoneIdentityPermission.For definitions of URL, site, and zone, see UrlIdentityPermission, SiteIdentityPermission, and ZoneIdentityPermission.

Queste identità vengono raggruppate insieme, nel qual caso le identità vengono applicate una dopo l'altra fino a quando non viene creata l'archiviazione isolata desiderato.These identities are grouped together, in which case the identities are applied one after another until the desired isolated storage is created. I raggruppamenti validi sono Assembly utente + e + Assembly + dominio dell'utente.The valid groupings are User+Assembly and User+Assembly+Domain. Questo raggruppamento delle identità è utile in molte applicazioni diverse.This grouping of identities is useful in many different applications.

Se i dati vengono archiviati dal dominio, utente e all'assembly, i dati sono privati che solo il codice in quanto assembly possono accedere ai dati.If data is stored by domain, user, and assembly, the data is private in that only code in that assembly can access the data. L'archivio dati è inoltre isolato dall'applicazione in cui viene eseguito, in modo che l'assembly non rappresenta una potenziale perdita di tramite l'esposizione dei dati ad altre applicazioni.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.

Isolamento in base all'assembly e l'utente può essere usato per i dati utente che viene applicato a più applicazioni. ad esempio, concedere in licenza informazioni o informazioni personali un utente (nome, le credenziali di autenticazione e così via) che sono indipendente da un'applicazione.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 espone i flag che determinano se un'applicazione è autorizzata a utilizzare l'archiviazione isolata e, in tal caso, le combinazioni di identità sono autorizzate per 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. Determina inoltre se un'applicazione può archiviare le informazioni in un percorso che può effettuare il roaming con un utente (è necessario configurare i profili utente di Windows o reindirizzamento cartelle).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).

Si applica a

Vedi anche