IsolatedStorageContainment IsolatedStorageContainment IsolatedStorageContainment IsolatedStorageContainment Enum

Definition

Gibt die zulässige Verwendung der isolierten Speicherung an.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
Vererbung
IsolatedStorageContainmentIsolatedStorageContainmentIsolatedStorageContainmentIsolatedStorageContainment
Attribute

Felder

AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser AdministerIsolatedStorageByUser 112

Uneingeschränkte Verwaltungsmöglichkeiten für den Benutzerspeicher.Unlimited administration ability for the user store. Ermöglicht das Durchsuchen und Löschen für den gesamten Speicher des Benutzer, gewährt jedoch lediglich den Lesezugriff für die eigene Domänen-/Assemblyidentität des Benutzers.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

Der Speicher wird zuerst nach Computer und dann nach Anwendung isoliert.Storage is isolated first by computer and then by application. Dadurch wird der Anwendung ein Datenspeicher bereitgestellt, der vom Kontext einer beliebigen Domäne aus zugänglich ist.This provides a data store for the application that is accessible in any domain context. Bei einer Einteilung nach Anwendung sind zusätzliche Vertrauensstellungen erforderlich, da hierbei möglicherweise ein "Tunnel" zwischen Anwendungen entsteht, der die Datenisolation von Anwendungen in bestimmten Websites gefährden kann.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

Der Speicher wird erst nach Benutzer und anschließend nach Anwendungsbeweis isoliert.Storage is isolated first by user and then by application evidence. Das Roaming des Speichers wird ausgeführt, wenn servergespeicherte Benutzerdaten unter Windows aktiviert sind.Storage will roam if Windows user data roaming is enabled. Dadurch wird der Anwendung ein Datenspeicher bereitgestellt, der vom Kontext einer beliebigen Domäne aus zugänglich ist.This provides a data store for the application that is accessible in any domain context. Bei einer Einteilung nach Anwendung sind zusätzliche Vertrauensstellungen erforderlich, da hierbei möglicherweise ein "Tunnel" zwischen Anwendungen entsteht, der die Datenisolation von Anwendungen in bestimmten Websites gefährden kann.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

Der Speicher wird zuerst nach Benutzer und dann nach Anwendung isoliert.Storage is isolated first by user and then by application. Der Speicher wird auch nach Computer isoliert.Storage is also isolated by computer. Dadurch wird der Anwendung ein Datenspeicher bereitgestellt, der vom Kontext einer beliebigen Domäne aus zugänglich ist.This provides a data store for the application that is accessible in any domain context. Bei einer Einteilung nach Anwendung sind zusätzliche Vertrauensstellungen erforderlich, da hierbei möglicherweise ein "Tunnel" zwischen Anwendungen entsteht, der die Datenisolation von Anwendungen in bestimmten Websites gefährden kann.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

Der Speicher wird erst nach Computer und anschließend nach Codeassembly isoliert.Storage is isolated first by computer and then by code assembly. Dadurch wird ein Datenspeicher für die Assembly bereitgestellt, der vom Kontext einer beliebigen Domäne aus zugänglich ist.This provides a data store for the assembly that is accessible in any domain context. Bei Datendepots pro Assembly sind zusätzliche Vertrauensstellungen erforderlich, da hierbei möglicherweise ein "Tunnel" zwischen Anwendungen entsteht, der die Datenisolation von Anwendungen in bestimmten Websites gefährden kann.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

Der Speicher wird erst nach Benutzer und anschließend nach Assemblybeweis isoliert.Storage is isolated first by user and then by assembly evidence. Das Roaming des Speichers wird ausgeführt, wenn servergespeicherte Benutzerdaten unter Windows aktiviert sind.Storage will roam if Windows user data roaming is enabled. Dadurch wird ein Datenspeicher für die Assembly bereitgestellt, der vom Kontext einer beliebigen Domäne aus zugänglich ist.This provides a data store for the assembly that is accessible in any domain context. Bei Datendepots pro Assembly sind zusätzliche Vertrauensstellungen erforderlich, da hierbei möglicherweise ein "Tunnel" zwischen Anwendungen entsteht, der die Datenisolation von Anwendungen in bestimmten Websites gefährden kann.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

Der Speicher wird erst nach Benutzer und anschließend nach Codeassembly isoliert.Storage is isolated first by user and then by code assembly. Der Speicher wird auch nach Computer isoliert.Storage is also isolated by computer. Dadurch wird ein Datenspeicher für die Assembly bereitgestellt, der vom Kontext einer beliebigen Domäne aus zugänglich ist.This provides a data store for the assembly that is accessible in any domain context. Bei Datendepots pro Assembly sind zusätzliche Vertrauensstellungen erforderlich, da hierbei möglicherweise ein "Tunnel" zwischen Anwendungen entsteht, der die Datenisolation von Anwendungen in bestimmten Websites gefährden kann.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

Der Speicher wird erst nach Computer und anschließend nach Domäne und Assembly isoliert.Storage is isolated first by computer and then by domain and assembly. Der Zugriff auf Daten ist nur im Kontext derselben Anwendung und nur bei der Ausführung auf dem gleichen Computer möglich.Data can only be accessed within the context of the same application and only when run on the same computer. Dies bietet sich an, wenn für eine Assembly von Drittparteien ein privater Datenspeicher unterhalten werden soll.This is helpful when a third-party assembly wants to keep a private data store.

DomainIsolationByRoamingUser DomainIsolationByRoamingUser DomainIsolationByRoamingUser DomainIsolationByRoamingUser 80

Der Speicher wird erst nach Benutzer und anschließend nach Domäne und Assembly isoliert.Storage is isolated first by user and then by domain and assembly. Das Roaming des Speichers wird ausgeführt, wenn servergespeicherte Benutzerdaten unter Windows aktiviert sind.Storage will roam if Windows user data roaming is enabled. Der Zugriff auf Daten ist nur im Kontext derselben Anwendung und nur bei der Ausführung durch denselben Benutzer möglich.Data can only be accessed within the context of the same application and only when run by the same user. Dies bietet sich an, wenn für eine Assembly von Drittparteien ein privater Datenspeicher unterhalten werden soll.This is helpful when a third-party assembly wants to keep a private data store.

DomainIsolationByUser DomainIsolationByUser DomainIsolationByUser DomainIsolationByUser 16

Der Speicher wird erst nach Benutzer und anschließend nach Domäne und Assembly isoliert.Storage is isolated first by user and then by domain and assembly. Der Speicher wird auch nach Computer isoliert.Storage is also isolated by computer. Der Zugriff auf Daten ist nur im Kontext derselben Anwendung und nur bei der Ausführung durch denselben Benutzer möglich.Data can only be accessed within the context of the same application and only when run by the same user. Dies bietet sich an, wenn für eine Assembly von Drittparteien ein privater Datenspeicher unterhalten werden soll.This is helpful when a third-party assembly wants to keep a private data store.

None None None None 0

Verwendung der isolierten Speicherung ist nicht zulässig.Use of isolated storage is not allowed.

UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage UnrestrictedIsolatedStorage 240

Verwendung der isolierten Speicherung ist ohne Beschränkung zulässig.Use of isolated storage is allowed without restriction. Der Code verfügt über Vollzugriff auf alle Teile des Benutzerspeichers, unabhängig von der Identität der Domäne oder der Assembly.Code has full access to any part of the user store, regardless of the identity of the domain or assembly. Diese Verwendung der isolierten Speicherung schließt die Fähigkeit ein, den Inhalt des Datenspeichers der isolierten Speicherung aufzulisten.This use of isolated storage includes the ability to enumerate the contents of the isolated storage data store.

Beispiele

In diesem Beispiel wird gezeigt, wie der CLR mitgeteilt wird, dass der IsolatedStoragePermission Code in dieser Assembly erfordert. Außerdem wird veranschaulicht, wie der isolierte Speicher geschrieben und aus diesem gelesen wird.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.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
    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

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

Hinweise

Isolierter Speicher verwendet Beweise, um einen eindeutigen Speicherbereich zur Verwendung durch eine Anwendung oder Komponente zu ermitteln.Isolated storage uses evidence to determine a unique storage area for use by an application or component. Die Identität einer Assembly bestimmt eindeutig den Stamm eines virtuellen Dateisystems, der von dieser Assembly verwendet werden soll.The identity of an assembly uniquely determines the root of a virtual file system for use by that assembly. Daher verfügt anstelle von vielen Anwendungen und Komponenten, die eine gemeinsame Ressource, wie z. b. das Dateisystem oder die Registrierung, jeweils ein eigener Datei Bereich, dem Sie zugewiesen sind.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.

Beim Zuweisen von isoliertem Speicher werden vier grundlegende Isolations Bereiche verwendet:Four basic isolation scopes are used when assigning isolated storage:

  • User-Code wird immer gemäß dem aktuellen Benutzer festgelegt.User - Code is always scoped according to the current user. Die gleiche Assembly empfängt verschiedene Speicher, wenn Sie von unterschiedlichen Benutzern ausgeführt wird.The same assembly will receive different stores when being run by different users.

  • Machine-Code ist für den Computer stets auf einen Bereich beschränkt.Machine - Code is always scoped according to the machine. Dieselbe Assembly empfängt dieselben Speicher, wenn Sie von unterschiedlichen Benutzern auf demselben Computer ausgeführt wird.The same assembly will receive the same stores when being run by different users on the same machine.

  • Assembly-Code wird kryptografisch mit starkem Namen (z. b. Microsoft. Office. * oder Microsoft. Office. Word), nach Verleger (basierend auf öffentlichem Schlüssel), nach URL (z http://www.fourthcoffee.com/process/grind.htm). b. nach Website oder nach Zone) identifiziert.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-Code wird auf der Grundlage von Beweisen identifiziert, die der Anwendungsdomäne zugeordnet sind.Domain - Code is identified based on evidence associated with the application domain. Die Webanwendungs Identität wird von der Website-URL oder von der URL, Site oder Zone der Webseite abgeleitet.Web application identity is derived from the site's URL, or by the Web page's URL, site, or zone. Die Identität des lokalen Codes basiert auf dem Pfad des Anwendungs Verzeichnisses.Local code identity is based on the application directory path.

Definitionen von URL, Site und Zone finden UrlIdentityPermissionSie unter, SiteIdentityPermissionund ZoneIdentityPermission.For definitions of URL, site, and zone, see UrlIdentityPermission, SiteIdentityPermission, and ZoneIdentityPermission.

Diese Identitäten werden gruppiert. in diesem Fall werden die Identitäten nacheinander angewendet, bis der gewünschte isolierte Speicher erstellt wird.These identities are grouped together, in which case the identities are applied one after another until the desired isolated storage is created. Die gültigen Gruppierungen lauten Benutzer + Assembly und Benutzer + Assembly + Domäne.The valid groupings are User+Assembly and User+Assembly+Domain. Diese Gruppierung von Identitäten ist für viele verschiedene Anwendungen nützlich.This grouping of identities is useful in many different applications.

Wenn Daten von Domäne, Benutzer und Assembly gespeichert werden, sind die Daten privat, da nur der Code in dieser Assembly auf die Daten zugreifen kann.If data is stored by domain, user, and assembly, the data is private in that only code in that assembly can access the data. Der Datenspeicher wird auch von der Anwendung isoliert, in der er ausgeführt wird, sodass die Assembly keinen möglichen Speicher darstellt, indem Sie Daten für andere Anwendungen verfügbar macht.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.

Die Isolation nach Assembly und Benutzer kann für Benutzerdaten verwendet werden, die über mehrere Anwendungen angewendet werden. beispielsweise Lizenzinformationen oder die persönlichen Informationen eines Benutzers (Name, Anmelde Informationen für die Authentifizierung usw.), die unabhängig von einer Anwendung sind.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.

IsolatedStorageContainmentmacht Flags verfügbar, die bestimmen, ob eine Anwendung isolierten Speicher verwenden kann, und wenn dies der Fall ist, welche Identitäts Kombinationen Sie verwenden dürfen.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. Außerdem wird festgelegt, ob eine Anwendung Informationen an einem Speicherort speichern darf, der mit einem Benutzer wechseln kann (Windows-Roamingbenutzerprofile oder die Ordner Umleitung müssen konfiguriert werden).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).

Gilt für:

Siehe auch