write leer form example archivo application c# .net windows application-settings appdata

c# - leer - ¿Diferencia entre ''SpecialFolder.LocalApplicationData'' y ''SpecialFolder.ApplicationData''?



properties.settings.default c# example (3)

En mi sistema, %AppData% lleva a ApplicationData que es C:/Users/<USER>/AppData/Roaming

Pero también hay C:/Users/<USER>/AppData/Local
Y para mayor confusión D:/Users/<USER>/AppData/LocalLow

string local = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); string roaming = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Mi pregunta es, ¿a cuál de estas ubicaciones debe guardar mi aplicación sus datos?

¿Existen pautas para cuál de estos lugares usar? ¿Y me estoy dejando abierto a problemas si elijo la ubicación incorrecta?


De MSDN - MSDN :

ApplicationData: el directorio que sirve como repositorio común para datos específicos de la aplicación para el usuario itinerante actual. Un usuario itinerante trabaja en más de una computadora en una red. El perfil de un usuario itinerante se mantiene en un servidor de la red y se carga en un sistema cuando el usuario inicia sesión.

LocalApplicationData El directorio que sirve como repositorio común para datos específicos de la aplicación que utiliza el usuario actual no itinerante.

En resumen, use ApplicationData para perfiles LocalApplicationData y LocalApplicationData para perfiles no itinerantes.


La carpeta de Roaming se copia entre las máquinas cuando los perfiles móviles están habilitados (en un entorno de dominio). Úselo para datos de aplicación que quiera compartir entre máquinas. Pero no almacene archivos de gran tamaño allí: a los departamentos de TI no les gusta cuando lo hace, y aumenta el tiempo necesario para que el usuario inicie sesión y cierre la sesión a medida que se copian los archivos.

La carpeta Local no se copia entre máquinas. Úselo para datos de aplicaciones que son específicos de una máquina.

La carpeta LocalLow se usa para tareas con poco privilegio (como Internet Explorer). No deberías tener que preocuparte por eso.

Para los archivos que el usuario guardó específicamente, debe colocarlos (de forma predeterminada) en la carpeta Documents .


Según MSDN la diferencia radica en que LocalApplicationData permanece en la máquina local y no se desplaza ... ApplicationData se desplaza, por ejemplo, si el usuario inicia sesión en el dominio desde otra computadora, se sincronizará ...

El LocalLow refiere a situaciones específicas como un BHO corriendo en "Modo protegido" de IE ...

Para una aplicación estándar, siempre use ApplicationData . Use LocalApplicationData para cosas que NO deberían deambular con el usuario ...