5 Stimmen

Wann sollte ich mich für IsolatedStorage und wann für AppData File Storage entscheiden?

Ich habe vor kurzem die IsolatedStorage Einrichtungen in .net, und ich frage mich, wann ich sie für meine Anwendungsdaten verwenden sollte und wann nicht (z. B.) Application.LocalUserAppDataPath .

Eine Sache, die mir aufgefallen ist, ist, dass Application außerhalb einer Winforms-Anwendung nicht existiert, so scheint es, dass IsolatedStorage könnte für eine Klassenbibliothek sinnvoll sein, die einen bestimmten Speicherplatz benötigt, vor allem, wenn diese Bibliothek sowohl von einer Webanwendung als auch von einer Winforms-Anwendung verwendet werden könnte. Ist das das einzige Unterscheidungsmerkmal, oder steckt mehr dahinter?

(In der Regel habe ich bisher die App dazu gebracht, der Bibliothek einen Dateistrom zur Verfügung zu stellen, wenn die Bibliothek irgendeine Art von externem Speicher benötigt - im Allgemeinen mag ich die Idee nicht, dass eine Bibliothek irgendeine Art von Zustand außerhalb des Kontextes des Aufrufers hat).

7voto

Scott Willeke Punkte 8232

IsolatedStorage verfügt über einige interessante Funktionen, die Sie dazu veranlassen könnten, sich für diese Lösung zu entscheiden:

  • Selbst Anwendungen mit sehr geringer Vertrauenswürdigkeit (z. B. Click-once) können auf isolierten Speicher zugreifen. Nicht alle Anwendungen können Zugang zu AppData haben. Abhängig von der Sicherheitsrichtlinie, die der Anwendung auferlegt wurde, kann IsolatedStorage auch eingeschränkt werden, ist aber normalerweise zugänglicher als AppData/Dateisystem.

  • Der Speicherbedarf von IsolatedStorage kann durch Administratorrichtlinien gesteuert werden.

  • Sie müssen nicht wissen, wo oder wie die isolierten Speicherdaten gespeichert werden. Es gibt eine einheitliche API für den Zugriff auf diese Daten auf allen Systemen, und Sie können den zugrunde liegenden Pfad, in dem sie gespeichert sind, völlig ignorieren. Wie Sie bemerkten, ist dies sehr nützlich für eine Bibliothek, die möglicherweise keine Ahnung hat, wie die Host-Anwendung Daten speichert.

  • Sie können auch Daten in einem isolierten Speicher mit verschiedenen Isolationsstufen sehr einfach speichern. Siehe die IsolatedStorageScope-Werte für weitere Informationen. Das ist der Namensgeber, also hätte ich diesen Punkt wohl zuerst aufführen sollen :)

Die Kehrseite der Medaille:

  • IsolatedStorage hat einige bemerkenswerte Beschränkungen hinsichtlich der Datenmenge, die Sie dort speichern können. So sind beispielsweise Anwendungseinstellungen kein Problem, aber für Dokumente ist es nicht geeignet.

Einige nützliche Links:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X