2011-08-19 21 views
8

Estaba leyendo sobre el espacio de nombres System.IO.IsolatedStorage en .NET y descubrí que puedo usarlo para almacenar un archivo en una ubicación única para mi ensamblado o ejecutable. Por ejemplo, el siguiente código:¿Alguien usa .NET System.IO.IsolatedStorage?

using System.IO.IsolatedStorage; 

public class Program 
{ 
    static void Main(string[] args) 
    { 
      IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForAssembly(); 
      store.CreateFile("myUserFile.txt"); 
    } 
} 

crea el archivo "myUserFile.txt" en la siguiente ubicación:

C: \ Users \ Nick \ AppData \ Local \ IsolatedStorage \ bhxcjtkp.bpv \ wbjkcolm.3br \ StrongName.m2s0saaun2onmow3pd5pkml30lf2dobr \ AssemFiles

Y el uso de IsolatedStorageFile.GetMachineStoreForAssembly() crea una estructura de directorios similar en C: \ Datos de programa \ IsolatedStorage.

puedo ver el beneficio de permitir que esta API crear una ubicación de almacenamiento para usted (no tener que pensar en una ruta de archivo usted mismo). Pero me sorprendió ver que no había otros archivos almacenados en IsolatedStorage de otras aplicaciones de terceros (al menos, no en mi computadora).

cambio, he encontrado un buen número de programas que almacenan los archivos de configuración y tal simplemente en C: \ Users \ Nick \ AppData \ Local. ¿Alguien sabe de alguna razón por la cual los proveedores de software podrían evitar usar IsolatedStorage? ¿O están usando una API diferente que almacena archivos en AppData?

+1

Estoy bastante seguro de que muchas, muchas personas usan IS. – BoltClock

Respuesta

5

Una de las razones que nos encontramos (la forma más dura) es que el algoritmo que las aplicaciones utilizan para identificar la ruta a utilizar en condiciones de almacenamiento aislado depende de la versión de la aplicación. La instalación de una nueva versión de la aplicación provoca la imposibilidad de acceder a los datos almacenados anteriormente. Estoy seguro de que hay opciones para que este escenario funcione, pero no pudimos encontrarlos y simplemente pasamos a una ruta de almacenamiento constante.

+0

Interesante. Eso es muy bueno saber –

+0

Algunas de las tecnologías de Microsoft manejan las actualizaciones de versión automáticamente para usted (como ClickOnce) – ghord

1

almacenamiento aislado es ideal para configuración de la aplicación y de usuario, y datos por el estilo. Con "datos como ese" me refiero a datos que no son cruciales para la aplicación (por las razones por las que los ha visto) pero que son beneficiosos para mantenerse alejados de los ojos de los usuarios.

Es muy fácil de limpiar aislado de almacenamiento, por lo que esperan que este sea el caso, siempre y usted no será decepcionado.

+0

Gracias. Suena como un consejo sólido. –

Cuestiones relacionadas