¿Cuándo debería optar por el almacenamiento de archivos aislados en lugar de AppData?

StackOverflow https://stackoverflow.com/questions/483840

  •  20-08-2019
  •  | 
  •  

Pregunta

Recientemente descubrí las IsolatedStorage instalaciones en .net, y me pregunto cuándo debería usarlas para los datos de mi aplicación y cuándo debería usarlas (por ejemplo) Application.LocalUserAppDataPath.

Una cosa que he notado es que Application no existe fuera de una aplicación winforms, por lo que parece que <=> podría tener sentido para una biblioteca de clase que necesita un almacenamiento específico, especialmente si esa biblioteca podría ser utilizado tanto por una aplicación web como por una aplicación winforms. ¿Es ese el único punto distintivo, o hay más?

(Como regla, hasta ahora, he hecho que la aplicación proporcione una secuencia de archivos a la biblioteca cuando la biblioteca pueda necesitar algún tipo de almacenamiento externo --- en general, no me gusta la idea de una biblioteca que tiene algún tipo de estado externo al contexto de la persona que llama.)

¿Fue útil?

Solución

IsolatedStorage tiene un par de características interesantes que pueden hacer que opte por él:

  • Incluso aplicaciones de muy baja confianza (como hacer clic una vez) pueden acceder al almacenamiento aislado. No todas las aplicaciones pueden tener acceso a AppData. Dependiendo de la política de seguridad impuesta en la aplicación, IsolatedStorage también puede ser limitado, pero generalmente es más accesible que AppData / sistema de archivos.

  • Los requisitos de almacenamiento de IsolatedStorage pueden controlarse mediante la política del administrador.

  • No tiene que saber dónde o cómo se almacenan los datos de almacenamiento aislados. Tiene una API uniforme para acceder a ella en todos los sistemas en los que puede ignorar por completo la ruta subyacente en la que está almacenada. Como señaló, esto es muy útil para una biblioteca que puede no tener idea de cómo la aplicación de alojamiento almacena los datos.

  • También puede tener datos almacenados en almacenamiento aislado con diferentes niveles de aislamiento muy fácilmente. Consulte los valores de IsolatedStorageScope para obtener más información. Este es su nombre, así que supongo que debería haber enumerado este punto primero :)

En el lado negativo:

  • IsolatedStorage tiene algunos límites notables en la cantidad de datos que puede almacenar allí. Por ejemplo, las preferencias de la aplicación estarán bien, pero no es apropiado para los documentos.

Algunos enlaces útiles:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top