5 votes

.NET - Meilleure façon de stocker les paramètres de l'application

Duplicata possible :
Quelle est la meilleure façon de stocker les paramètres de l'utilisateur pour une application .NET ?

Bonjour. Quelle est la meilleure façon de stocker les paramètres de l'application dans .Net 4.0 ? Registre Windows ? Application.Settings ?

Que faire si je veux pouvoir mettre à jour le programme tout en conservant les paramètres de l'ancienne version (la nouvelle version peut comporter davantage de nouveaux paramètres et certains anciens peuvent être supprimés) ?

Que faire si je veux stocker une collection de mes objets personnalisés ?

Je sais qu'il existe une question similaire mais elle concerne .Net 2.0. Il y a peut-être de nouvelles façons de sauvegarder les paramètres dans 4.0.

Je vous remercie d'avance.

2voto

BenCr Points 2553

Je ne pense pas que .NET 4 ait apporté quoi que ce soit de nouveau en ce qui concerne les paramètres de l'application.

Voir les nouveautés de .Net 4. http://msdn.microsoft.com/en-us/library/ms171868.aspx

1voto

Chris Lively Points 59564

Depuis deux versions du système d'exploitation, MS s'efforce de faire en sorte que les utilisateurs n'utilisent plus le registre. En outre, comme l'a dit @Scott Anderson dans un commentaire, rien n'a changé de manière significative avec .Net 4.0 à cet égard.

S'il s'agit d'une application locale sans magasin de données de sauvegarde, utilisez le fichier app.config.

Si vous souhaitez stocker des données locales, je vous recommande d'utiliser quelque chose comme sql lite ou un mécanisme similaire dans lequel vous pouvez facilement créer des tables et les interroger si nécessaire. Cela faciliterait également la gestion des versions.

1voto

Iain Collins Points 2296

Application.Settings est sans aucun doute la meilleure solution - contrairement aux paramètres du registre, elle fonctionnera quel que soit le système d'exploitation, le niveau de l'utilisateur ou l'exécution de l'application à partir d'un client Terminal Services.

Dans le passé, j'ai créé une propriété appelée MigrateUserSettings et je l'ai utilisé pour m'aider à gérer la migration des paramètres des utilisateurs.

J'ai fixé la valeur de cette propriété à vrai dans l'application par défaut. Au démarrage, si je trouve qu'il est déjà réglé sur vrai Si je tente de migrer les paramètres et que je règle ensuite la valeur sur faux (il reste alors faux jusqu'à ce que l'application soit mise à jour).

Exemple :

if (Settings.Default.MigrateUserSettings)
{
    Settings.Default.Upgrade();
    Settings.Default.MigrateUserSettings = false;
    /* Custom handling of migrating specific settings (if required) here
       e.g. if any have been renamed or if the possible options have changed. */
    Settings.Default.Save();
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X