Isolierte SpeicherungIsolated Storage

Die isolierte Speicherung ist ein Mechanismus zur Datenspeicherung von Desktop-Apps, der Isolation und Sicherheit gewährleistet, indem er standardisierte Möglichkeiten zur Verknüpfung von Code mit gespeicherten Daten definiert.For desktop apps, isolated storage is a data storage mechanism that provides isolation and safety by defining standardized ways of associating code with saved data. Die Standardisierung hat weitere Vorteile.Standardization provides other benefits as well. Administratoren können spezielle Tools zum Ändern isolierter Speichervorgänge verwenden, um Speicherplätze für Dateien zu konfigurieren, Sicherheitsrichtlinien festzulegen und nicht verwendete Daten zu löschen.Administrators can use tools designed to manipulate isolated storage to configure file storage space, set security policies, and delete unused data. Dank isolierter Speicherung benötigt der Code keine eindeutigen Pfade zur Festlegung sicherer Speicherplätze im Dateisystem. Außerdem werden die Daten vor anderen Anwendungen geschützt, die nur über Zugriff auf isolierte Speicherplätze verfügen.With isolated storage, your code no longer needs unique paths to specify safe locations in the file system, and data is protected from other applications that only have isolated storage access. Fest codierte Daten, die den Speicherbereich einer Anwendung angeben, sind nicht erforderlich.Hard-coded information that indicates where an application's storage area is located is unnecessary.

Wichtig

Isolierte Speicherung ist nicht für Windows 8.x StoreWindows 8.x Store -Apps verfügbar.Isolated storage is not available for Windows 8.x StoreWindows 8.x Store apps. Verwenden Sie stattdessen zum Speichern von lokalen Daten und Dateien die in der Windows-Runtime-API enthaltenen Anwendungsdatenklassen in den Windows.Storage-Namespaces.Instead, use the application data classes in the Windows.Storage namespaces included in the Windows Runtime API to store local data and files. Weitere Informationen finden Sie im Windows Developer Center unter Anwendungsdaten .For more information, see Application data in the Windows Dev Center.

Dieses Thema enthält folgende Abschnitte:This topic contains the following sections:

Datendepots und -speicherData Compartments and Stores

Wenn eine Anwendung Daten in einer Datei speichert, müssen Dateiname und Speicherplatz sorgfältig ausgewählt werden, um weitestgehend zu verhindern, dass der Speicherplatz einer anderen Anwendung zugänglich und damit anfällig für Datenbeschädigungen wird.When an application stores data in a file, the file name and storage location must be carefully chosen to minimize the possibility that the storage location will be known to another application and, therefore, will be vulnerable to corruption. Ohne die Verwendung eines Standardsystems zur Behebung solcher Probleme kann die Entwicklung von Ad-hoc-Techniken zur Minimierung von Speicherkonflikten sehr komplex sein und zu unzuverlässigen Ergebnissen führen.Without a standard system in place to manage these problems, developing ad hoc techniques that minimize storage conflicts can be complex, and the results can be unreliable.

Bei der isolierten Speicherung werden die Daten immer nach Benutzer oder nach Assembly isoliert.With isolated storage, data is always isolated by user and by assembly. Informationen wie der Ursprung oder der starke Name der Assembly bestimmen die Identität der Assembly.Credentials such as the origin or the strong name of the assembly determine assembly identity. Daten können auch nach Anwendungsdomäne isoliert werden, wobei ähnliche Informationen verwendet werden.Data can also be isolated by application domain, using similar credentials.

Bei der Verwendung der isolierten Speicherung speichert Ihre Anwendung Daten in einem eindeutigem Datendepot, das einem bestimmten Aspekt der Identität des Codes zugeordnet ist, beispielsweise dem Herausgeber oder der Signatur.When you use isolated storage, your application saves data to a unique data compartment that is associated with some aspect of the code's identity, such as its publisher or signature. Das Datendepot ist abstrakt und stellt keinen spezifischen Speicherplatz dar. Es besteht aus einer oder mehreren Dateien der isolierten Speicherung, so genannten Speichern. Diese enthalten den tatsächlichen Verzeichnisort, an dem die Daten gespeichert sind.The data compartment is an abstraction, not a specific storage location; it consists of one or more isolated storage files, called stores, which contain the actual directory locations where data is stored. So kann z. B. einer Anwendung ein Datendepot zugeordnet sein. In diesem Fall ist es das Verzeichnis im Dateisystem, das den Speicher implementiert. Dort sind die Daten dieser Anwendung gespeichert.For example, an application might have a data compartment associated with it, and a directory in the file system would implement the store that actually preserves the data for that application. In diesem Speicher können beliebige Daten gespeichert werden, z. B. Informationen zur Benutzereinstellung oder der Anwendungszustand.The data saved in the store can be any kind of data, from user preference information to application state. Für den Entwickler ist der Speicherplatz des Datendepots transparent.For the developer, the location of the data compartment is transparent. Speicher befinden sich normalerweise auf dem Client. Eine Serveranwendung könnte jedoch isolierte Speicher zum Speichern von Informationen verwenden, indem sie die Identität des Benutzers annimmt, in dessen Auftrag sie arbeitet.Stores usually reside on the client, but a server application could use isolated stores to store information by impersonating the user on whose behalf it is functioning. Mit isolierter Speicherung können Daten auf einem Server mit einem Roamingbenutzerprofil gespeichert werden. Dadurch wandern die Daten mit dem Benutzer mit.Isolated storage can also store information on a server with a user's roaming profile so that the information will travel with the roaming user.

Kontingente für isolierte SpeicherungQuotas for Isolated Storage

Bei einem Kontingent handelt es sich um eine Begrenzung des Umfangs an isoliertem Speicherplatz, der verwendet werden kann.A quota is a limit on the amount of isolated storage that can be used. Das Kontingent umfasst Speicherplatzangaben in Bytes sowie den Mehrbedarf in Verbindung mit dem Verzeichnis und anderen Informationen im Speicher.The quota includes bytes of file space as well as the overhead associated with the directory and other information in the store. Bei der isolierten Speicherung werden Berechtigungskontingente verwendet, bei denen es sich um eine mithilfe von IsolatedStoragePermission -Objekten eingestellte Speicherplatzbegrenzung handelt.Isolated storage uses permission quotas, which are storage limits that are set by using IsolatedStoragePermission objects. Versuchen Sie, über das Kontingent hinausgehende Daten zu schreiben, wird eine IsolatedStorageException -Ausnahme ausgelöst.If you try to write data that exceeds the quota, an IsolatedStorageException exception is thrown. In einer Sicherheitsrichtlinie, die mithilfe des .NET Framework-Konfigurationstools (Mscorcfg.msc) geändert werden kann, wird festgelegt, welche Berechtigungen Code erteilt werden.Security policy, which can be modified using the .NET Framework Configuration Tool (Mscorcfg.msc), determines which permissions are granted to code. Code, dem IsolatedStoragePermission gewährt wurde, kann nicht mehr Speicherplatz verwenden, als die UserQuota -Eigenschaft zulässt.Code that has been granted IsolatedStoragePermission is restricted to using no more storage than the UserQuota property allows. Da Code allerdings Berechtigungskontingente durch die Angabe verschiedener Benutzeridentitäten umgehen kann, dienen diese lediglich als Richtlinien und nicht als strenge Einschränkungen für das Verhalten des Codes.However, because code can bypass permission quotas by presenting different user identities, permission quotas serve as guidelines for how code should behave rather than as a firm limit on code behavior.

Kontingente werden nicht in Roamingspeichern durchgesetzt.Quotas are not enforced on roaming stores. Dies ist der Grund, weshalb für ihre Verwendung eine etwas höhere Berechtigungsebene erforderlich ist.Because of this, a slightly higher level of permission is required for code to use them. Die Enumerationswerte AssemblyIsolationByRoamingUser und DomainIsolationByRoamingUser geben eine Berechtigung zur Verwendung von isolierter Speicherung für einen Roamingbenutzer an.The enumeration values AssemblyIsolationByRoamingUser and DomainIsolationByRoamingUser specify a permission to use isolated storage for a roaming user.

Sicherer ZugriffSecure Access

Durch isolierte Speicherung können Daten von teilweise vertrauenswürdigen Anwendungen so gespeichert werden, dass eine Kontrolle durch die Sicherheitsrichtlinien des Computers gewährleistet ist.Using isolated storage enables partially trusted applications to store data in a manner that is controlled by the computer's security policy. Dies ist besonders für heruntergeladene Komponenten von Nutzen, bei deren Ausführung Vorsicht geboten ist.This is especially useful for downloaded components that a user might want to run cautiously. Wenn Sie standardmäßige E/A-Mechanismen zum Zugriff auf das Dateisystem verwenden, lassen die Sicherheitsrichtlinien selten diese Art der Codeberechtigung zu.Security policy rarely grants this kind of code permission when you access the file system by using standard I/O mechanisms. Code, der vom lokalen Computer, von einem lokalen Netzwerk oder über das Internet ausgeführt wird, erhält jedoch standardmäßig die Berechtigung zur Verwendung von isoliertem Speicher.However, by default, code running from the local computer, a local network, or the Internet is granted the right to use isolated storage.

Administratoren können auf Basis einer entsprechenden Vertrauensebene festlegen, wie viel isolierter Speicherplatz einer Anwendung oder einem Benutzer zur Verfügung steht.Administrators can limit how much isolated storage an application or a user has available, based on an appropriate trust level. Darüber hinaus können Administratoren die gespeicherten Daten eines Benutzers vollständig löschen.In addition, administrators can remove a user's persisted data completely. Um isolierten Speicherplatz erstellen oder darauf zugreifen zu können, muss dem Code die entsprechende IsolatedStorageFilePermission -Berechtigung erteilt werden.To create or access isolated storage, code must be granted the appropriate IsolatedStorageFilePermission permission.

Für den Zugriff auf isolierten Speicherplatz muss der Code über alle notwendigen systemeigenen Rechte der Betriebssystemplattform verfügen.To access isolated storage, code must have all necessary native platform operating system rights. Die Bedingungen der Zugriffssteuerungslisten (ACLs, Access Control Lists), die festlegen, welche Benutzer zur Verwendung des Dateisystems berechtigt sind, müssen erfüllt sein.The access control lists (ACLs) that control which users have the rights to use the file system must be satisfied. .NET Framework-Anwendungen verfügen bereits über Betriebssystemrechte für den Zugriff auf isolierten Speicherplatz, sofern sie keine (plattformspezifische) Imitation ausführen..NET Framework applications already have operating system rights to access isolated storage unless they perform (platform-specific) impersonation. In diesem Fall ist die Anwendung dafür zuständig, dass die imitierte Benutzeridentität über die entsprechenden Rechte des Betriebssystems verfügt, um auf den isolierten Speicherplatz zuzugreifen.In this case, the application is responsible for ensuring that the impersonated user identity has the proper operating system rights to access isolated storage. Mithilfe dieses Zugriffs kann aus dem Web ausgeführter bzw. heruntergeladener Code auf einfache Weise aus dem Speicherbereich, der einem bestimmten Benutzer zugeordnet ist, lesen bzw. in diesen schreiben.This access provides a convenient way for code that is run or downloaded from the web to read and write to a storage area related to a particular user.

Zur Steuerung des Zugriffs auf isolierte Speicherplätze verwendet Common Language Runtime IsolatedStorageFilePermission -Objekte.To control access to isolated storage, the common language runtime uses IsolatedStorageFilePermission objects. Jedes Objekt verfügt über Eigenschaften, die folgende Werte festlegen:Each object has properties that specify the following values:

  • Zulässige Verwendung, die den erlaubten Zugriffstyp anzeigt.Allowed usage, which indicates the type of access that is allowed. Die Werte sind Member der IsolatedStorageContainment -Enumeration.The values are members of the IsolatedStorageContainment enumeration. Weitere Informationen über diese Werte finden Sie in der Tabelle im nächsten Abschnitt.For more information about these values, see the table in the next section.

  • Speicherkontingent, wie im vorherigen Abschnitt erläutert.Storage quota, as discussed in the preceding section.

Beim ersten Versuch des Codes, einen Speicher zu öffnen, fordert die Runtime eine IsolatedStorageFilePermission -Berechtigung an.The runtime demands IsolatedStorageFilePermission permission when code first attempts to open a store. Sie entscheidet basierend auf der Vertrauenswürdigkeit des Codes, ob diese Berechtigung erteilt wird.It decides whether to grant this permission, based on how much the code is trusted. Falls die Berechtigung erteilt wird, werden die Werte für die zulässige Verwendung und für das Speicherkontingent durch die Sicherheitsrichtlinien und durch die Anforderung von IsolatedStorageFilePermissiondurch den Code festgelegt.If the permission is granted, the allowed usage and storage quota values are determined by security policy and by the code's request for IsolatedStorageFilePermission. Die Sicherheitsrichtlinien werden mit dem .NET Framework-Konfigurationstool (Mscorcfg.msc) festgelegt.Security policy is set by using the .NET Framework Configuration Tool (Mscorcfg.msc). Alle Aufrufer in der Aufrufliste werden überprüft, um sicherzustellen, dass jeder mindestens über die entsprechende zulässige Verwendung verfügt.All callers in the call stack are checked to ensure that each caller has at least the appropriate allowed usage. Durch die Laufzeit werden auch die Kontingente überprüft, die dem Code auferlegt wurden, durch welchen der Speicher für die zu speichernde Datei geöffnet oder erstellt wurde.The runtime also checks the quota imposed on the code that opened or created the store in which the file is to be saved. Falls diese Bedingungen erfüllt sind, wird die Berechtigung erteilt.If these conditions are satisfied, permission is granted. Die Überprüfung des Kontingents erfolgt jedes Mal erneut, wenn eine Datei in den Speicher geschrieben wird.The quota is checked again every time a file is written to the store.

Für Anwendungscode muss keine Berechtigung angefordert werden, da Common Language Runtime jede gemäß den Sicherheitsrichtlinien angemessene IsolatedStorageFilePermission erteilt.Application code is not required to request permission because the common language runtime will grant whatever IsolatedStorageFilePermission is appropriate based on security policy. Allerdings gibt es gute Gründe, bestimmte Berechtigungen, die für Ihre Anwendung erforderlich sind, einschließlich von IsolatedStorageFilePermission, anzufordern.However, there are good reasons to request specific permissions that your application needs, including IsolatedStorageFilePermission.

Zulässige Verwendung und SicherheitsrisikenAllowed Usage and Security Risks

Die durch IsolatedStorageFilePermission festgelegte zulässige Verwendung bestimmt, bis zu welchem Grad das Erstellen und Verwenden von isolierter Speicherung durch Code zugelassen wird.The allowed usage specified by IsolatedStorageFilePermission determines the degree to which code will be allowed to create and use isolated storage. Aus der folgenden Tabelle geht hervor, inwiefern die in der Berechtigung festgelegte zulässige Verwendung den Isolationstypen entspricht. Ferner werden die Sicherheitsrisiken zusammengefasst, die jede zulässigen Verwendung mit sich bringt.The following table shows how the allowed usage specified in the permission corresponds to types of isolation and summarizes the security risks associated with each allowed usage.

Zulässige VerwendungAllowed usage IsolationstypenIsolation types SicherheitsrisikoSecurity impact
None Es ist keine Verwendung von isolierter Speicherung zulässig.No isolated storage use is allowed. Es besteht kein Sicherheitsrisiko.There is no security impact.
DomainIsolationByUser Isolation nach Benutzer, Domäne und Assembly.Isolation by user, domain, and assembly. Jede Assembly verfügt über einen separaten Unterspeicher innerhalb der Domäne.Each assembly has a separate substore within the domain. Speicher, die diese Berechtigung verwenden, werden auch implizit nach Computer isoliert.Stores that use this permission are also implicitly isolated by computer. Diese Berechtigungsebene bietet Ressourcen keinen Schutz vor unbefugter Überbeanspruchung, wobei erzwungene Kontingente allerdings die Funktion haben, dies zu erschweren.This permission level leaves resources open to unauthorized overuse, although enforced quotas make it more difficult. Dies wird Denial-of-Service-Angriff genannt.This is called a denial of service attack.
DomainIsolationByRoamingUser Wie bei DomainIsolationByUser, jedoch befindet sich der Speicher an einem Speicherplatz, für den Roaming möglich ist, sofern Roamingbenutzerprofile aktiviert und Kontingente nicht erzwungen sind.Same as DomainIsolationByUser, but store is saved to a location that will roam if roaming user profiles are enabled and quotas are not enforced. Da Kontingente deaktiviert sein müssen, sind die Speicherressourcen anfälliger für Denial-of-Service-Angriffe.Because quotas must be disabled, storage resources are more vulnerable to a denial of service attack.
AssemblyIsolationByUser Isolation nach Benutzer und Assembly.Isolation by user and assembly. Speicher, die diese Berechtigung verwenden, werden auch implizit nach Computer isoliert.Stores that use this permission are also implicitly isolated by computer. Kontingente werden auf dieser Ebene erzwungen, um einen Denial-of-Service-Angriff zu verhindern.Quotas are enforced at this level to help prevent a denial of service attack. Dieselbe Assembly in einer anderen Domäne kann auf diesen Speicher zugreifen, wodurch ein Verlust von Informationen zwischen Anwendungen möglich ist.The same assembly in another domain can access this store, opening the possibility that information could be leaked between applications.
AssemblyIsolationByRoamingUser Wie bei AssemblyIsolationByUser, jedoch befindet sich der Speicher an einem Speicherplatz, für den Roaming möglich ist, sofern Roamingbenutzerprofile aktiviert und Kontingente nicht erzwungen sind.Same as AssemblyIsolationByUser, but store is saved to a location that will roam if roaming user profiles are enabled and quotas are not enforced. Wie bei AssemblyIsolationByUser. Allerdings erhöht sich ohne Kontingente das Risiko eines Denial-of-Service-Angriffs.Same as in AssemblyIsolationByUser, but without quotas, the risk of a denial of service attack increases.
AdministerIsolatedStorageByUser Isolation nach Benutzer.Isolation by user. Normalerweise gilt diese Berechtigungsebene nur für Verwaltungs- oder Debugtools.Typically, only administrative or debugging tools use this level of permission. Durch den Zugriff mit dieser Berechtigung kann Code jede der Dateien oder Verzeichnisse in isolierten Speicherplätzen anzeigen oder löschen (unabhängig von Assemblyisolation).Access with this permission allows code to view or delete any of a user's isolated storage files or directories (regardless of assembly isolation). Es besteht u. a. das Risiko eines Informationslecks und des Datenverlusts.Risks include, but are not limited to, leaking information and data loss.
UnrestrictedIsolatedStorage Isolation nach Benutzern, Domänen und Assemblys.Isolation by all users, domains, and assemblies. Normalerweise gilt diese Berechtigungsebene nur für Verwaltungs- oder Debugtools.Typically, only administrative or debugging tools use this level of permission. Durch diese Berechtigung sind sämtliche isolierte Speicher aller Benutzer potenziell gefährdet.This permission creates the potential for a total compromise of all isolated stores for all users.

Isolierte SpeicherorteIsolated Storage Locations

Gelegentlich sollten Änderungen an isolierten Speicherplätzen mit dem Dateisystem des Betriebssystems überprüft werden.Sometimes it is helpful to verify a change to isolated storage by using the file system of the operating system. Sie möchten vielleicht auch wissen, wo die Dateien im isolierten Speicherplatz gespeichert sind.You might also want to know the location of isolated storage files. Der Speicherort hängt vom Betriebssystem ab.This location is different depending on the operating system. Die folgende Tabelle gibt für einige geläufige Betriebssysteme die Stammorte an, an denen isolierter Speicherplatz erstellt wird.The following table shows the root locations where isolated storage is created on a few common operating systems. Suchen Sie in diesem Stammspeicherort nach „Microsoft\IsolatedStorage“-Verzeichnissen.Look for Microsoft\IsolatedStorage directories under this root location. Zum Anzeigen versteckter Dateien und Ordner müssen die Ordnereinstellungen geändert werden, sodass isolierte Speicherplätze im Dateisystem angezeigt werden können.You must change folder settings to show hidden files and folders in order to see isolated storage in the file system.

BetriebssystemOperating system Speicherplatz im DateisystemLocation in file system
Windows 2000, Windows XP, Windows Server 2003 (Upgrade von Windows NT 4.0)Windows 2000, Windows XP, Windows Server 2003 (upgrade from Windows NT 4.0) Für Roaming aktivierte Speicher =Roaming-enabled stores =

<SYSTEMSTAMM>\Profile\<Benutzer>\Anwendungsdaten<SYSTEMROOT>\Profiles\<user>\Application Data

Nicht für Roaming eingerichtete Speicher =Nonroaming stores =

<SYSTEMSTAMM>\Profile\<Benutzer>\Lokale Einstellungen\Anwendungsdaten<SYSTEMROOT>\Profiles\<user>\Local Settings\Application Data
Windows 2000 – Neuinstallation (und Upgrades von Windows 98 und Windows NT 3.51)Windows 2000 - clean installation (and upgrades from Windows 98 and Windows NT 3.51) Für Roaming aktivierte Speicher =Roaming-enabled stores =

<SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten<SYSTEMDRIVE>\Documents and Settings\<user>\Application Data

Nicht für Roaming eingerichtete Speicher =Nonroaming stores =

<SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Lokale Einstellungen\Anwendungsdaten<SYSTEMDRIVE>\Documents and Settings\<user>\Local Settings\Application Data
Windows XP, Windows Server 2003 – Neuinstallation (und Upgrades von Windows 2000 und Windows 98)Windows XP, Windows Server 2003 - clean installation (and upgrades from Windows 2000 and Windows 98) Für Roaming aktivierte Speicher =Roaming-enabled stores =

<SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten<SYSTEMDRIVE>\Documents and Settings\<user>\Application Data

Nicht für Roaming eingerichtete Speicher =Nonroaming stores =

<SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Lokale Einstellungen\Anwendungsdaten<SYSTEMDRIVE>\Documents and Settings\<user>\Local Settings\Application Data
Windows 8Windows 8, Windows 7, Windows Server 2008, Windows Vista, Windows 7, Windows Server 2008, Windows Vista Für Roaming aktivierte Speicher =Roaming-enabled stores =

<SYSTEMLAUFWERK>\Benutzer\<Benutzer>\AppData\Roaming<SYSTEMDRIVE>\Users\<user>\AppData\Roaming

Nicht für Roaming eingerichtete Speicher =Nonroaming stores =

<SYSTEMLAUFWERK>\Benutzer\<Benutzer>\AppData\Local<SYSTEMDRIVE>\Users\<user>\AppData\Local

Erstellen, Auflisten und Löschen von isoliertem SpeicherCreating, Enumerating, and Deleting Isolated Storage

Das .NET Framework stellt drei Klassen im System.IO.IsolatedStorage -Namespace bereit, um Ihnen bei der Ausführung von Aufgaben im Zusammenhang mit isolierter Speicherung zu helfen:The .NET Framework provides three classes in the System.IO.IsolatedStorage namespace to help you perform tasks that involve isolated storage:

Mit den Klassen der isolierten Speicherung können Sie isolierte Speicherplätze erstellen, auflisten und löschen.The isolated storage classes enable you to create, enumerate, and delete isolated storage. Die Methoden zur Ausführung dieser Aufgaben sind über das IsolatedStorageFile -Objekt verfügbar.The methods for performing these tasks are available through the IsolatedStorageFile object. Für einige Operationen benötigen Sie zum Verwalten isolierter Speicher die IsolatedStorageFilePermission -Berechtigung. Für den Zugriff auf die Datei oder das Verzeichnis benötigen Sie gegebenenfalls auch Betriebssystemrechte.Some operations require you to have the IsolatedStorageFilePermission permission that represents the right to administer isolated storage; you might also need to have operating system rights to access the file or directory.

Eine Reihe von Beispielen, die allgemeine isolierte Speicheraufgaben veranschaulichen, finden Sie in den Gewusst-wie-Themen in Verwandte Themen.For a series of examples that demonstrate common isolated storage tasks, see the how-to topics listed in Related Topics.

Szenarien für die isolierte SpeicherungScenarios for Isolated Storage

Isolierte Speicherung kann in vielen Situationen hilfreich sein, zum Beispiel in diesen vier Szenarien:Isolated storage is useful in many situations, including these four scenarios:

  • Heruntergeladene Steuerelemente.Downloaded controls. Aus dem Internet heruntergeladene Steuerelemente für verwalteten Code sind nicht berechtigt, über normale E/A-Klassen auf die Festplatte zu schreiben. Allerdings können sie mithilfe von isolierter Speicherung die Einstellungen eines Benutzers sowie den Anwendungszustand speichern.Managed code controls downloaded from the Internet are not allowed to write to the hard drive through normal I/O classes, but they can use isolated storage to persist users' settings and application states.

  • Speicher für gemeinsame Komponenten.Shared component storage. Von Anwendungen gemeinsam verwendete Komponenten können mithilfe von isolierter Speicherung einen kontrollierten Zugriff auf Datenspeicher bereitstellen.Components that are shared between applications can use isolated storage to provide controlled access to data stores.

  • Speicher auf dem Server.Server storage. Serveranwendungen können isolierte Speicherung verwenden, um einzelne Speicher für eine große Zahl von Benutzern bereitzustellen, die Anforderungen an die Anwendung richten.Server applications can use isolated storage to provide individual stores for a large number of users making requests to the application. Da isolierte Speicherplätze auf die einzelnen Benutzer verteilt werden, muss der Server den anfordernden Benutzer imitieren.Because isolated storage is always segregated by user, the server must impersonate the user making the request. In diesem Fall werden Daten auf Basis der Identität des Prinzipals isoliert, bei der es sich um dieselbe Identität handelt, anhand derer die Anwendung Benutzer voneinander unterscheidet.In this case, data is isolated based on the identity of the principal, which is the same identity the application uses to distinguish between its users.

  • Roaming.Roaming. Anwendungen können isolierte Speicherplätze auch mit Roamingbenutzerprofilen verwenden.Applications can also use isolated storage with roaming user profiles. Dadurch können die isolierten Speicher eines Benutzers wie die Profile von überall zugänglich sein.This allows a user's isolated stores to roam with the profile.

Sie sollten isolierten Speicher in den folgenden Situationen nicht verwenden:You should not use isolated storage in the following situations:

  • Zum Speichern hochsensibler Daten wie unverschlüsselte Schlüssel oder Kennwörter, da isolierte Speicherplätze nicht vor besonders vertrauenswürdigem Code, nicht verwaltetem Code bzw. vor vertrauenswürdigen Benutzern des Computers geschützt sind.To store high-value secrets, such as unencrypted keys or passwords, because isolated storage is not protected from highly trusted code, from unmanaged code, or from trusted users of the computer.

  • Zum Speichern von Code.To store code.

  • Zum Speichern von administratorgesteuerten Konfigurations- und Bereitstellungseinstellungen.To store configuration and deployment settings, which administrators control. (Benutzereinstellungen gelten nicht als Konfigurationseinstellungen, da sie nicht vom Administrator gesteuert werden.)(User preferences are not considered to be configuration settings because administrators do not control them.)

Viele Anwendungen verwenden Datenbanken zur Speicherung und Isolation von Daten, wobei eine oder mehrere Zeilen einer Datenbank den Speicherplatz für einen bestimmten Benutzer darstellen können.Many applications use a database to store and isolate data, in which case one or more rows in a database might represent storage for a specific user. Sie können in folgenden Fällen gegebenenfalls isolierte Speicherung anstelle einer Datenbank verwenden: bei geringer Benutzerzahl, bei beträchtlichem Verwaltungsaufwand durch Verwendung einer Datenbank oder wenn keine Datenbankfunktion zur Verfügung steht.You might choose to use isolated storage instead of a database when the number of users is small, when the overhead of using a database is significant, or when no database facility exists. Wenn eine Anwendung zudem Speicherplatz benötigt, der flexibler und komplexer ist als die Zeilen einer Datenbank, bietet isolierte Speicherung eine gute Alternative.Also, when the application requires storage that is more flexible and complex than what a row in a database provides, isolated storage can provide a viable alternative.

TitelTitle BESCHREIBUNGDescription
IsolationstypenTypes of Isolation Beschreibt verschiedene Isolationstypen.Describes the different types of isolation.
Vorgehensweise: Erhalten von Speichern für isolierten SpeicherHow to: Obtain Stores for Isolated Storage Stellt ein Beispiel für die Verwendung der IsolatedStorageFile -Klasse bereit, um einen nach Benutzer und Assembly isolierten Speicher abzurufen.Provides an example of using the IsolatedStorageFile class to obtain a store isolated by user and assembly.
Vorgehensweise: Auflisten von Speichern für isolierten SpeicherHow to: Enumerate Stores for Isolated Storage Zeigt, wie mithilfe der IsolatedStorageFile.GetEnumerator -Methode die Größe des gesamten isolierten Speichers für den Benutzer berechnet wird.Shows how to use the IsolatedStorageFile.GetEnumerator method to calculate the size of all isolated storage for the user.
Vorgehensweise: Löschen von Speichern im isolierten SpeicherHow to: Delete Stores in Isolated Storage Zeigt, wie mit der IsolatedStorageFile.Remove -Methode isolierte Speicher auf zwei unterschiedliche Arten gelöscht werden.Shows how to use the IsolatedStorageFile.Remove method in two different ways to delete isolated stores.
Vorgehensweise: Vorhersehen von Speicherengpässen bei isoliertem SpeicherHow to: Anticipate Out-of-Space Conditions with Isolated Storage Zeigt, wie der restliche Speicherplatz in einem isolierten Speicher ermittelt wird.Shows how to measure the remaining space in an isolated store.
Vorgehensweise: Erstellen von Dateien und Verzeichnissen in isoliertem SpeicherHow to: Create Files and Directories in Isolated Storage Einige Beispiele für das Erstellen von Dateien und Verzeichnissen in einem isolierten Speicher.Provides some examples of creating files and directories in an isolated store.
Vorgehensweise: Suchen von vorhandenen Dateien und Verzeichnissen im isolierten SpeicherHow to: Find Existing Files and Directories in Isolated Storage Zeigt, wie die Verzeichnisstruktur und die Dateien bei isolierter Speicherung gelesen werden.Demonstrates how to read the directory structure and files in isolated storage.
Vorgehensweise: Lesen von bzw. Schreiben in Dateien im isolierten SpeicherHow to: Read and Write to Files in Isolated Storage Beispiel dafür, wie eine Zeichenfolge in eine isolierte Speicherdatei geschrieben und von dort gelesen wird.Provides an example of writing a string to an isolated storage file and reading it back.
Vorgehensweise: Löschen von Dateien und Verzeichnissen in isoliertem SpeicherHow to: Delete Files and Directories in Isolated Storage Beschreibt das Löschen von Dateien und Verzeichnissen der isolierten Speicherung.Demonstrates how to delete isolated storage files and directories.
Datei- und Stream-E/AFile and Stream I/O Erläutert, wie Sie einen synchronen und asynchronen Datei- und Datenstreamzugriff ausführen können.Explains how you can perform synchronous and asynchronous file and data stream access.

ReferenzReference