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

Dieses Beispiel zeigt, wie Sie der CLR feststellen können, dass Code in dieser Assembly erfordert die IsolatedStoragePermission und veranschaulicht, wie zum Schreiben und Lesen aus dem isolierten Speicher.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.

Hinweise

Isolierter Speicher verwendet Beweise, um einen eindeutigen Speicherbereich für die Verwendung von einer Anwendung oder Komponente zu bestimmen.Isolated storage uses evidence to determine a unique storage area for use by an application or component. Die Identität einer Assembly bestimmt eindeutig das Stammverzeichnis des ein virtuelles Dateisystem für die Verwendung durch die Assembly.The identity of an assembly uniquely determines the root of a virtual file system for use by that assembly. Daher besitzt jeder anstatt viele Anwendungen und Komponenten, die eine gemeinsame Ressource, z. B. das Dateisystem oder die Registrierung freigeben, einen eigene Dateibereich grundsätzlich zugewiesen.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.

Zuweisen der isolierten Speicherung werden vier grundlegende Isolationsstufen-Bereichen verwendet:Four basic isolation scopes are used when assigning isolated storage:

  • User -Code ist immer entsprechend den aktuellen Benutzer beschränkt.User - Code is always scoped according to the current user. Die gleiche Assembly erhalten unterschiedliche Speicher aus, wenn die von verschiedenen Benutzern ausgeführt wird.The same assembly will receive different stores when being run by different users.

  • Machine -Code ist immer nach dem Computer beschränkt.Machine - Code is always scoped according to the machine. Die gleiche Assembly erhalten den gleichen Speicher aus, wenn die von verschiedenen Benutzern auf dem gleichen 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 durch einen starken Namen (z. B. Microsoft.Office. * oder Microsoft.Office.Word) nach Herausgeber (basierend auf öffentlicher Schlüssel), durch die URL kryptografisch identifiziert (z. B. http://www.fourthcoffee.com/process/grind.htm), Standort oder nach der Zone.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 basierend auf der Anwendungsdomäne zugeordnete Beweis identifiziert.Domain - Code is identified based on evidence associated with the application domain. Die Identität der Web-Anwendung wird aus der URL der Website oder URL der Webseite, Website oder Zone abgeleitet.Web application identity is derived from the site's URL, or by the Web page's URL, site, or zone. Lokaler Code Identity basiert auf dem Pfad des Anwendungsverzeichnisses.Local code identity is based on the application directory path.

Definitionen der URL, Site und Zone, finden Sie unter UrlIdentityPermission, SiteIdentityPermission, und 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 sind Benutzerassembly + und + Assembly + Benutzerdomäne.The valid groupings are User+Assembly and User+Assembly+Domain. Diese Gruppierung von Identitäten ist in vielen verschiedenen Anwendungen nützlich.This grouping of identities is useful in many different applications.

Wenn Daten von der Domäne, Benutzer und Assembly gespeichert ist, sind die Daten in diesem Code nur private, Assembly, 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, in der er ausgeführt wird, isoliert, damit die Assembly durch Verfügbarmachen von Daten für andere Anwendungen keinen potenziellen Speicherverlust dar.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.

Isolation nach Assembly und der Benutzer konnte für Benutzerdaten verwendet werden, die für mehrere Anwendungen angewendet wird. z. B.-Lizenz, oder eines Benutzers persönliche Informationen (Name, Anmeldeinformationen für die Authentifizierung und So weiter), die einer Anwendung unabhängig ist.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 Stellt Flags, die bestimmen, ob eine Anwendung zum Verwenden der isolierten Speicherung zulässig ist und wenn Sie also, welche Identitätskombinationen zulässig sind, verwenden.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. Es bestimmt außerdem, ob eine Anwendung, zum Speichern von Informationen an einem Speicherort, der Roaming zulässt zulässig ist, kann mit einem Benutzer (Windows-Roamingbenutzerprofile noch Ordnerumleitung muss 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