Domanda

Di recente ho scoperto le IsolatedStorage strutture in .net e mi chiedo quando dovrei usarle per i dati della mia applicazione rispetto a quando dovrei usare (ad esempio) Application.LocalUserAppDataPath.

Una cosa che ho notato è che Application non esiste al di fuori di un'app winforms, quindi <=> potrebbe avere senso per una libreria di classi che necessita di un archivio specifico, specialmente se quella libreria potrebbe essere utilizzato sia da un'app Web sia da un'app Winforms. È l'unico punto distintivo o c'è di più?

(Di norma, fino ad ora, ho fatto in modo che l'app fornisse un flusso di file alla libreria quando la libreria potrebbe aver bisogno di una sorta di memoria esterna --- in generale, non mi piace l'idea di una libreria con una sorta di stato esterno al contesto del chiamante.)

È stato utile?

Soluzione

IsolatedStorage ha un paio di interessanti funzionalità che potrebbero farti optare per questo:

  • Anche le applicazioni con un livello di affidabilità molto basso (come il clic una volta) possono accedere allo storage isolato. Non tutte le applicazioni possono avere accesso ad AppData. A seconda della politica di sicurezza imposta sull'applicazione, IsolatedStorage può anche essere limitato, ma di solito è più accessibile di AppData / file system.

  • I requisiti di archiviazione di IsolatedStorage possono essere controllati dai criteri dell'amministratore.

  • Non è necessario sapere dove o come vengono archiviati i dati di archiviazione isolati. Ha un'API uniforme per accedervi su tutti i sistemi in cui puoi ignorare completamente il percorso sottostante in cui è archiviato. Come hai notato, questo è molto utile per una libreria che potrebbe non avere idea di come l'applicazione di hosting memorizza i dati.

  • È inoltre possibile archiviare i dati in una memoria isolata con vari livelli di isolamento molto facilmente. Vedere i valori di IsolatedStorageScope per ulteriori informazioni. Questo è il suo omonimo, quindi immagino che avrei dovuto elencare prima questo punto :)

Al rovescio della medaglia:

  • IsolatedStorage ha alcuni limiti notevoli nella quantità di dati che è possibile archiviare lì. Ad esempio, le preferenze dell'applicazione andranno bene, ma non è appropriato per i documenti.

Alcuni link utili:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top