Ich habe über den System.IO.IsolatedStorage-Namespace in .NET gelesen und festgestellt, dass ich damit eine Datei an einem Ort speichern kann, der für meine Assembly oder ausführbare Datei eindeutig ist. Zum Beispiel der folgende Code:
%Vor%Erstellt die Datei "myUserFile.txt" am folgenden Speicherort:
C: \ Benutzer \ Nick \ Anwendungsdaten \ Local \ IsolatedStorage \ bhxcjtkp.bpv \ wbjkcolm.3br \ StrongName.m2s0saaun2onmow3pd5pkml30lf2dobr \ AssemFiles
Und die Verwendung von IsolatedStorageFile.GetMachineStoreForAssembly()
erzeugt eine ähnliche Verzeichnisstruktur unter C: \ ProgramData \ IsolatedStorage.
Ich sehe den Vorteil, dass diese API einen Speicherort für Sie erstellen kann (Sie müssen sich keinen Dateipfad selbst ausdenken). Aber ich war überrascht zu sehen, dass keine anderen Dateien in IsolatedStorage von anderen Anwendungen von Drittanbietern gespeichert wurden (zumindest nicht auf meinem Computer).
Stattdessen habe ich ziemlich viele Programme gefunden, die Konfigurationsdateien und dergleichen einfach unter C: \ Users \ Nick \ AppData \ Local speichern. Kennt jemand einen Grund, warum Softwarehersteller vor der Verwendung von IsolatedStorage zurückschrecken? Oder verwenden sie eine andere API, die Dateien unter AppData speichert?
Ein Grund, den wir (auf die harte Tour) gefunden haben, ist, dass der Algorithmus, den Anwendungen verwenden, um den Pfad für die Verwendung im isolierten Speicher zu identifizieren, von der Anwendungsversion abhängig ist. Das Installieren einer neuen Version der Anwendung führt dazu, dass auf zuvor gespeicherte Daten nicht zugegriffen werden kann. Ich bin mir sicher, dass es Optionen gibt, um dieses Szenario zum Laufen zu bringen, aber wir konnten sie nicht finden und sind einfach auf einen konstanten Speicherpfad umgestiegen.
Isolierter Speicher ist ideal für Anwendungs- und Benutzereinstellungen und solche Daten. Mit "Daten wie diesem" meine ich Daten, die nicht anwendungsentscheidend sind (aus Gründen, warum Sie gesehen haben), die dennoch von den Augen der Benutzer fern bleiben.
Es ist sehr einfach, isolierten Speicher zu löschen, also erwarte, dass dies immer der Fall ist, und du wirst nicht enttäuscht sein.
Tags und Links .net c# isolatedstorage