Isolated Storage

Eintrag zuletzt aktualisiert am: 05.01.2009

Isolated Storage ist Teil des Sicherheitssystem im .NET Framework. Isolated Storage ist Bereich einer Festplatte, der nur für eine bestimmte Anwendung zur Verfügung steht. Isolated Storage können im Gegensatz zu "normalen" Dateisystemzugriffen auch heruntergeladene Anwendungen mit niedrigen CA-Rechten nutzen.

Nutzung über den Namensraum System.IO.IsolatedStorage.

Hintergründe

Viele Anwendung speichert Informationen im Dateisystem. Dabei werden spezifische Einstellungen oft in einer eigenen Konfigurationsdatei im „persönlichen Verzeichnis“ des jeweiligen Benutzers abgelegt. Handelt es sich dabei um eine Anwendung, die auf das lokale System heruntergeladen und ausgeführt wird, ist der Dateisystemzugriff im Standard verboten und eine entsprechende Anpassung CAS sehr komplex - schließlich sollte die Anwendung aus Sicherheitsgründen nicht „wild“ auf das Dateisystem zugreifen. Es müsste eine Richtlinie für jeden Benutzer mit den entsprechenden Verzeichnispfaden erstellt werden. Oder schlimmer noch: Bei jeder späteren Änderung von Verzeichnissen müssten CAS-Richtlinien nachträglich angepasst werden.

Um diesem Diemma zu entgehen, können kann jede .NET-Anwendung Daten in einer Art virtuellem Dateisystem, dem sogenannten Isolated Storage, ablegen und später von dort wieder laden. Der Speicher verschiedener .NET-Anwendungen ist voneinander isoliert. Theoretisch kann eine Anwendung im Isolated Storage Programmcode ablegen. Windows verhindert aber, dass dieser ausgeführt würde.

Beispiel:

Dim store as IsolatedStorageFile = IsolatedStorageFile.GetUserStoreForDomain()
Dim stream as new IsolatedStorageFileStream("daten.xml", FileMode.Create, store)
ds.WriteXML(stream)