Stockage des paramètres d'application en C#

Quelle est la meilleure pratique pour stocker les paramètres de l'application (tels que le nom d'utilisateur et le mot de passe, l'emplacement de la base de données ...) en C# ?

indice: je suis nouveau à .net et C#

9
demandé sur Rob 2010-07-30 16:38:25

7 réponses

les paramètres de Configuration de L'Application qui s'appliquent à l'ensemble de l'application (non spécifiques à l'utilisateur) appartiennent à l'une ou l'autre application.config (pour applications bureautiques) ou web.config (pour applications Web).

Chiffrement des sections d'un site web.le fichier de configuration est très simple comme décrit dans cet exemple Super Simple .

si vous avez besoin de stocker des paramètres spécifiques à L'utilisateur (comme les paramètres d'application, etc.) ou les paramètres de l'ensemble de L'Application non liés à la configuration de l'application vous pouvez utiliser un fichier de Paramètres comme décrit ici:

Paramètres de l'Utilisateur en C#

12
répondu Justin Niessner 2010-07-30 12:53:19

Je ne sais pas dans quelle version de .net/Visual Studio il a été introduit, mais vous pouvez faire un clic droit sur votre projet, choisir" Ajouter un nouvel élément "et sélectionner" fichier de paramètres "dans la fenêtre" Ajouter un nouvel élément". Cela permet à votre projet (nommé par défaut) Settings.settings fichier que vous pouvez configurer tous les paramètres que vous souhaitez exposer.

Vous pouvez définir les paramètres que vous créez pour être Application ou Utilisateur qui signifie que vous pouvez utiliser cette interface unique pour contrôler les paramètres globaux et utilisateur. Une fois que vous avez créé un paramètre dans les paramètres.paramètres fichier en utilisant L'éditeur que Visual Studio fournit, vous pouvez y accéder en code comme ceci:

// Get a Setting value
var valueOfSetting1 = Settings1.Default.Setting1;

// Modify and save a Setting value
Settings1.Default.Setting1 = "New Value";
Settings1.Default.Save();
7
répondu Rob 2010-07-30 12:44:00

la première option est le registre. C'est facile, mais ce n'est pas trop sûr pour les mots de passe. Une autre option est d'utiliser un fichier que vous créez. Ceci aussi n'est pas sûr, à moins que vous ne vouliez implémenter la cryption.

la prochaine option est d'utiliser les paramètres de l'Application. C'est aussi assez simple, mais il ya quelques captures. Tout d'abord, cliquez droit sur votre projet et allez dans les Propriétés. Là, sous l'onglet Paramètres, vous pouvez stocker des variables auxquels vous pouvez accéder à partir de votre programme par

string password = Properties.Settings.Default.Password

vous pouvez également les changer de la même façon, mais seulement si le scope est défini L'utilisateur. Quand le champ est l'ensemble de l'application, VS ne vous permet pas de modifier ces variables pour une raison étrange. Pour enregistrer les modifications, vous devez appeler Save () comme suit:

Properties.Settings.Default.Save();

ceux-ci sont enregistrés dans le dossier de données utilisateur sous C:\Documents and Settings\ 'Current User' \Local Settings\Application Data\

une Autre option serait d'inclure ils dans votre base de données, mais puisque vous stockez également l'emplacement de votre base de données, cela pourrait ne pas fonctionner pour vous.

2
répondu sbenderli 2010-07-30 12:41:41

je pense que app.config (Non Web app) ou web.config (web app).

0
répondu apolka 2010-07-30 12:41:08

ces types de réglages aboutissent généralement dans des fichiers de Configuration D'Application (web.config, app.config).

http://www.devasp.net/net/articles/display/679.html

si vous stockez des mots de passe, vous pourriez aussi avoir besoin de crypter la section de configuration en question.

http://msdn.microsoft.com/en-us/library/53tyfkaw.aspx

http://msdn.microsoft.com/en-us/library/ff650304.aspx

Remarque si vous utilisez l'application.config, vous verrez renommés ..config, selon que votre sortie produit une DLL ou une EXE.

0
répondu Adam Houldsworth 2010-07-30 12:46:49

, Comme avec les réponses ci-dessus suggèrent, app.config ou web.config est le meilleur endroit pour configurer les applications. Si vous avez besoin d'une façon plus robuste de balises de style xml pour la base de données, les paramètres du serveur et autres, vous pouvez utiliser la section configuration et créer des sections personnalisées.

http://www.codeproject.com/KB/cs/CustomConfigurationSectio.aspx

pour les mots de passe de base de données, la façon dont je le fais est d'avoir une chaîne cryptée dans la balise xml valeur et décryptez alors en les lisant, de cette façon vous n'exposez pas les mots de passe.

0
répondu Kannan 2010-07-30 12:49:21

appsettings fichier de configuration, un fichier ini(nini), intégrable de base de données(sqlite,berkelydb/etc..), quelle que soit la méthode que vous aimez, cela dépend de la taille de votre application/considération de performance et de la conception.

0
répondu Eyalk 2011-08-13 22:58:41