App.config: Étendue de l’application vs utilisateur

J’ai ajouté le fichier App.config dans mon projet. J’ai créé deux parameters à partir du projet> Propriétés> panneau Paramètres –

entrer la description de l'image ici

J’ai remarqué que lorsque j’ajoute un paramètre, je peux définir la scope en tant User ou Application . –

  1. Utilisateur
  2. Application

Si je définis le paramètre en tant userSettings , il passe à la section userSettings ,
si je définis le paramètre comme Application il va à la section applicationSettings

App.config

     Value1       Value2     

Mais, ces parameters sont accessibles de la même manière à partir de .cs

Code

 ssortingng mySetting1 = DemoApp.Properties.Settings.Default.MySetting1; ssortingng mySetting2 = DemoApp.Properties.Settings.Default.MySetting2; 

Quelle est la différence entre la scope de l’ User et celle de l’ Application et dans quelles circonstances il convient de choisir entre les deux?

Fondamentalement, les parameters de l’application ne peuvent pas être modifiés pendant l’exécution d’un programme et les parameters utilisateur le peuvent. Ces parameters utilisateur doivent ensuite être enregistrés pour que l’utilisateur se voit présenter une expérience familière lorsqu’il exécute l’application suivante.

Modifier: par exemple, vous pouvez écrire votre application avec différents modules et vous assurer que votre module principal utilise la version correcte de votre module de sécurité. Pour cela, vous devez configurer un paramètre de domaine d’application, par exemple:

 SecurityModuleVersion ssortingng Application v1.21 

Plus tard, lorsque vous modifiez le module de sécurité, vous pouvez remplacer la valeur par v1.22 lors du déploiement pour garantir la mise en œuvre de la sécurité appropriée.

D’un autre côté, si votre application a des «habillages» différents avec des changements de couleur, des modifications de police, etc., vous pouvez configurer un paramètre utilisateur comme suit:

 ApplicationSkin ssortingng User DefaultSkin 

Ensuite, lorsque Michelle passe à la peau qu’elle préfère, l’application se souvient de ses parameters. Les propriétés peuvent maintenant ressembler à:

 ApplicationSkin ssortingng User HelloKittySkin 

Les parameters d’application sont en lecture seule et ne peuvent être modifiés qu’au moment de la conception ou en modifiant le fichier .exe.config entre les sessions d’application. Les parameters de scope utilisateur, cependant, peuvent être écrits au moment de l’exécution, tout comme vous modifiez une valeur de propriété. La nouvelle valeur persiste pendant toute la durée de la session d’application. Vous pouvez conserver les modifications apscopes aux parameters utilisateur entre les sessions d’application en appelant la méthode Settings.Save.

Source sur msdn: Utilisation des parameters dans C #

Les parameters utilisateur sont généralement utilisés pour les préférences utilisateur persistantes (par exemple, les préférences de notification d’application, etc.). Les parameters d’application s’appliquent généralement à des éléments tels que les clés API, etc.

Comme indiqué par @kmote, lorsque les parameters utilisateur sont modifiés et conservés au moment de l’exécution (via settings.Save() ), ils seront écrits dans un dossier dans le stockage du profil utilisateur (généralement C: \ Users \ Nom d’utilisateur \ AppData \ Local \ AppName). dans Windows 7 et supérieur). Afin de déterminer l’emplacement du fichier par programme, veuillez consulter cet article .