Einführung in die isolierte Speicherung
Aktualisiert: November 2007
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. 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.
Bei der isolierten Speicherung werden die Daten immer nach Benutzer oder nach Assembly isoliert. Informationen wie der Ursprung oder der starke Name der Assembly bestimmen die Identität der Assembly. Daten können auch nach Anwendungsdomäne isoliert werden, wobei ähnliche Informationen verwendet werden.
Bei der isolierten Speicherung werden die Daten von einer Anwendung in einem eindeutigem Datendepot gespeichert, dem einigen Aspekten der Identität des Codes zugeordnet sind, beispielsweise der zugehörigen Website, dem zugehörigen Herausgeber oder der zugehörigen Signatur. 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. So kann z. B. einer Webanwendung ein Datendepot zugeordnet sein. In diesem Fall ist es das Verzeichnis im Dateisystem, welches den Speicher implementiert. Dort sind die Daten dieser Anwendung gespeichert. In diesem Speicher können beliebige Daten gespeichert werden, z. B. Informationen zur Benutzereinstellung oder der Anwendungszustand. Für den Entwickler ist der Speicherplatz des Datendepots transparent; Speicher befinden sich normalerweise auf dem Client. Jedoch könnte eine Serveranwendung isolierte Speicher zum Speichern von Informationen verwenden, indem die Identität des Benutzers imitiert wird, unter dessen Namen die Anwendung läuft. Mit isolierter Speicherung können Daten auf einem Server mit einem Roamingbenutzerprofil gespeichert werden. Dadurch wandern die Daten mit dem Benutzer mit.
Administratoren können auf Basis einer entsprechenden Vertrauensebene festlegen, wie viel isolierter Speicherplatz einer Anwendung oder einem Benutzer zur Verfügung steht. Darüber hinaus können Administratoren alle gespeicherten Daten eines Benutzers löschen. Um isolierten Speicherplatz erstellen oder darauf zugreifen zu können, muss dem Code die entsprechende IsolatedStorageFilePermission erteilt werden.
Für den Zugriff auf isolierten Speicherplatz muss der Code über alle notwendigen systemeigenen Rechte der Betriebssystemplattform verfügen. Ein Beispiel: Unter Windows 2000 müssen die Bedingungen der Zugriffssteuerungslisten erfüllt sein. Diese legen fest, welche Benutzer zur Verwendung des Dateisystems berechtigt sind. Microsoft .NET Framework-Anwendungen verfügen über Rechte des Betriebssystems, um auf isolierten Speicherplatz zuzugreifen, es sei denn, sie führen eine (plattformspezifische) Imitation aus. 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. 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.
Gelegentlich sollten Änderungen an isolierten Speicherplätzen mit dem Dateisystem des Betriebssystems überprüft werden. In einigen Fällen ist es für Entwickler wichtig zu wissen, wo die Dateien im isolierten Speicherplatz gespeichert sind. Der Speicherort hängt vom Betriebssystem ab. Die folgende Tabelle gibt für einige geläufige Betriebssysteme die Stammorte an, an denen isolierter Speicherplatz erstellt wird. Suchen Sie in diesem Stammort nach Microsoft\IsolatedStorage-Verzeichnissen. Zum Anzeigen versteckter Dateien und Ordner müssen die Ordnereinstellungen geändert werden, sodass isolierte Speicherplätze im Dateisystem angezeigt werden können.
Betriebssystem |
Speicherplatz im Dateisystem |
---|---|
Windows 98, Windows ME - Benutzerprofile nicht aktiviert |
Für Roaming aktivierte Speicher = <SYSTEMSTAMM>\Anwendungsdaten Nicht für Roaming eingerichtete Speicher = WINDOWS\Lokale Einstellungen\Anwendungsdaten |
Windows 98, Windows ME - Benutzerprofile aktiviert |
Für Roaming aktivierte Speicher = <SYSTEMSTAMM>\Profile\<Benutzer>\Anwendungsdaten Nicht für Roaming eingerichtete Speicher = Windows\Lokale Einstellungen\Anwendungsdaten |
Windows NT 4.0 |
<SYSTEMSTAMM>\Profile\<Benutzer>\Anwendungsdaten |
Windows NT 4.0 - Service Pack 4 |
Für Roaming aktivierte Speicher = <SYSTEMSTAMM>\Profile\<Benutzer>\Anwendungsdaten Nicht für Roaming eingerichtete Speicher = <SYSTEMSTAMM>\Profile\<Benutzer>\Lokale Einstellungen\Anwendungsdaten |
Windows 2000, Windows XP, Windows Server 2003 - Aktualisierung von NT 4.0 |
Für Roaming aktivierte Speicher = <SYSTEMSTAMM>\Profile\<Benutzer>\Anwendungsdaten Nicht für Roaming eingerichtete Speicher = <SYSTEMSTAMM>\Profile\<Benutzer>\Lokale Einstellungen\Anwendungsdaten |
Windows 2000 - Neuinstallation (und Aktualisierungen von Windows 98 und NT 3.51) |
Für Roaming aktivierte Speicher = <SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten Nicht für Roaming eingerichtete Speicher = <SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Lokale Einstellungen\Anwendungsdaten |
Windows XP, Windows Server 2003 - Neuinstallation (und Aktualisierungen von Windows 2000 und Windows 98) |
Für Roaming aktivierte Speicher = <SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten Nicht für Roaming eingerichtete Speicher = <SYSTEMLAUFWERK>\Dokumente und Einstellungen\<Benutzer>\Lokale Einstellungen\Anwendungsdaten |
Windows Vista |
Für Roaming aktivierte Speicher = <SYSTEMDRIVE>\Users\<user>\AppData\Roaming Nicht für Roaming eingerichtete Speicher = <SYSTEMDRIVE>\Users\<user>\AppData\Local |