Différence entre " SpecialFolder.LocalApplicationData " et " SpecialFolder.ApplicationData?
Sur mon système, %AppData%
mène à ApplicationData
qui est C:Users<USER>AppDataRoaming
Mais il y a aussi C:Users<USER>AppDataLocal
Et pour plus de confusion!--5-->
string local = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string roaming = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
ma question Est la suivante: à quel endroit mon application devrait-elle enregistrer ses données?
y a-t-il des lignes directrices pour déterminer lequel de ces emplacements utiliser? Est-ce que je me laisse aller à des problèmes si je choisis le mauvais endroit?
3 réponses
Roaming
le dossier est copié entre les machines lorsque les profils roaming sont activés (dans un environnement de domaine). Utilisez-le pour les données d'application que vous souhaitez partager entre machines. mais ne stockez pas de gros fichiers là-dedans -- les services informatiques n'aiment pas quand vous faites cela, et cela augmente le temps que l'utilisateur se connecte et se déconnecte à mesure que les fichiers sont copiés.
Local
dossier n'est pas copié entre les machines. Utilisez - le pour les données d'application spécifique à une machine.
LocalLow
le dossier est utilisé pour les tâches de faible privilège (comme Internet Explorer). Vous ne devriez pas besoin de s'inquiéter à ce sujet.
Pour les fichiers que l'utilisateur sauvegardées, vous devez les mettre (par défaut) dans le Documents
dossier.
Selon MSDN la différence est que LocalApplicationData
reste sur la machine locale et ne pas errer... ApplicationData
roam par exemple, si l'utilisateur se connecte au domaine depuis un autre ordinateur, il sera synchronisé...
LocalLow
se réfère à des situations spécifiques comme un BHO tournant en "mode protégé" D'IE...
pour une application standard utilisez toujours ApplicationData
. Utilisez LocalApplicationData
pour les choses qui ne devraient pas errer avec l'utilisateur...
From MSDN -Environnement.SpecialFolder Énumération:
ApplicationData-le répertoire qui sert de dépôt commun pour les données spécifiques à l'application pour l'utilisateur courant en itinérance. Un utilisateur itinérant de travaux sur plus d'un ordinateur sur un réseau. Le profil d'un utilisateur en itinérance est conservé sur un serveur du réseau et est chargé sur un système lorsque l'utilisateur se connecte.
LocalApplicationData le répertoire qui sert de dépôt commun pour les données spécifiques à une application qui sont utilisées par l'utilisateur courant non en itinérance.
En bref, utiliser ApplicationData
pour les profils d'itinérance, et LocalApplicationData
pour les profils Non roaming.