Quelle est la meilleure pratique pour stocker les paramètres de l'application (telles que nom d'utilisateur et le mot de passe, l'emplacement de base de données ...) en C# ?
Application des Paramètres de Configuration de l'application de large (non spécifique à l'utilisateur) appartiennent soit à l'app.config (pour les applications de Bureau) ou web.config (pour les applications Web).
Chiffrement des sections d'un site web.fichier de configuration est très simple, comme indiqué dans ce Super Simple Exemple.
Si vous avez besoin de stocker des paramètres spécifiques (comme les paramètres de l'application, etc.) ou de l'Application des paramètres de l'échelle ne sont pas liées à la configuration de l'application, vous pouvez utiliser un fichier de Paramètres comme décrit ici:
ok , est-il sécurisé ? si oui comment l'utiliser ? merci Ses pas sûr automatiquement, mais vous pouvez crypter des fichiers de configuration et de leurs sections .NET. Voir ma réponse, j'ai fourni des liens montrant. sont ces données en toute sécurité? je veux dire, j'ai de l'expérience (dans l'application utilisée .net Framework 2) que ma demande est allé perdu... une fois ou deux fois...
Je ne suis pas certain de la version .net/Visual Studio, il a été introduit dans, mais vous pouvez faire un clic droit sur votre projet, choisissez "Ajouter un Nouvel Élément" et sélectionnez "Paramètres du Fichier" de la "Ajouter un Nouvel Élément" de la fenêtre. Cela permet à votre projet (nommé par défaut) Settings.settings de 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 ce qui signifie que vous pouvez utiliser cette interface pour le contrôle global et les paramètres de l'utilisateur. Une fois que vous avez créé un réglage dans les Paramètres.fichier de paramètres à l'aide de l'éditeur de Visual Studio, vous pouvez y accéder dans le code comme ceci:
//Get a Setting valuevar valueOfSetting1 =Settings1.Default.Setting1;//Modify and save a Setting valueSettings1.Default.Setting1="New Value";Settings1.Default.Save();
Première option est la base de registre. Il est facile, mais il n'est pas trop fort pour les mots de passe. Une autre option est d'utiliser un fichier que vous créez. Cela aussi n'est pas sûr, sauf si vous voulez mettre en œuvre cryption.
L'option 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
Vous pouvez également modifier de la même manière, mais SEULEMENT SI la portée est définie par 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 la méthode Save() comme suit:
Properties.Settings.Default.Save();
Elles sont sauvegardées dans le dossier de Données Utilisateur en vertu de C:\Documents and Settings\'Actuel'Utilisateur\Local Settings\Application Data\
Une autre option serait de les inclure dans votre base de données, mais que vous êtes également le stockage de votre emplacement de base de données, cela pourrait ne pas fonctionner pour vous.
Il y a quelques excuses à toujours utiliser le registre pour les nouvelles applications.
Remarque si vous utilisez l'application.config, vous verrez renommés ..config, en fonction de si la production de votre produit une DLL ou un fichier EXE.
Comme ci-dessus suggèrent, app.config ou web.la config est le meilleur endroit pour les paramètres d'application.
Si vous avez besoin d'une façon plus robuste de xml, les balises de style de base de données, les paramètres du serveur et le souhaitez, vous pouvez utiliser le configurationSection et de créer des sections.
Pour la base de données de mots de passe, la façon dont je le fais, c'est d'avoir une chaîne cryptée dans la balise xml de la valeur et de décrypter puis lors de la lecture, de cette façon, vous n'avez pas exposer les mots de passe.
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, il dépend de la taille de l'application/facteur de performance et de design.
Application des Paramètres de Configuration de l'application de large (non spécifique à l'utilisateur) appartiennent soit à l'app.config (pour les applications de Bureau) ou web.config (pour les applications Web).
Chiffrement des sections d'un site web.fichier de configuration est très simple, comme indiqué dans ce Super Simple Exemple.
Si vous avez besoin de stocker des paramètres spécifiques (comme les paramètres de l'application, etc.) ou de l'Application des paramètres de l'échelle ne sont pas liées à la configuration de l'application, vous pouvez utiliser un fichier de Paramètres comme décrit ici:
Les Paramètres de l'utilisateur en C#
Ses pas sûr automatiquement, mais vous pouvez crypter des fichiers de configuration et de leurs sections .NET. Voir ma réponse, j'ai fourni des liens montrant.
sont ces données en toute sécurité? je veux dire, j'ai de l'expérience (dans l'application utilisée .net Framework 2) que ma demande est allé perdu... une fois ou deux fois...
OriginalL'auteur Justin Niessner
Je ne suis pas certain de la version .net/Visual Studio, il a été introduit dans, mais vous pouvez faire un clic droit sur votre projet, choisissez "Ajouter un Nouvel Élément" et sélectionnez "Paramètres du Fichier" de la "Ajouter un Nouvel Élément" de la fenêtre. Cela permet à votre projet (nommé par défaut)
Settings.settings
de 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 ce qui signifie que vous pouvez utiliser cette interface pour le contrôle global et les paramètres de l'utilisateur. Une fois que vous avez créé un réglage dans les Paramètres.fichier de paramètres à l'aide de l'éditeur de Visual Studio, vous pouvez y accéder dans le code comme ceci:
OriginalL'auteur Rob
Première option est la base de registre. Il est facile, mais il n'est pas trop fort pour les mots de passe. Une autre option est d'utiliser un fichier que vous créez. Cela aussi n'est pas sûr, sauf si vous voulez mettre en œuvre cryption.
L'option 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
Vous pouvez également modifier de la même manière, mais SEULEMENT SI la portée est définie par 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 la méthode Save() comme suit:
Elles sont sauvegardées dans le dossier de Données Utilisateur en vertu de C:\Documents and Settings\'Actuel'Utilisateur\Local Settings\Application Data\
Une autre option serait de les inclure dans votre base de données, mais que vous êtes également le stockage de votre emplacement de base de données, cela pourrait ne pas fonctionner pour vous.
OriginalL'auteur sbenderli
Je pense app.config (non web app ou site web.config (web app).
OriginalL'auteur apolka
Ces sortes de paramètres habitude des terres en Application des Fichiers de Configuration (web.config, app.config).
http://www.devasp.net/net/articles/display/679.html
Si vous stockez les mots de passe, vous pourriez aussi avoir besoin de chiffrer 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, en fonction de si la production de votre produit une DLL ou un fichier EXE.
OriginalL'auteur Adam Houldsworth
Comme ci-dessus suggèrent, app.config ou web.la config est le meilleur endroit pour les paramètres d'application.
Si vous avez besoin d'une façon plus robuste de xml, les balises de style de base de données, les paramètres du serveur et le souhaitez, vous pouvez utiliser le configurationSection et de créer des sections.
http://www.codeproject.com/KB/cs/CustomConfigurationSectio.aspx
Pour la base de données de mots de passe, la façon dont je le fais, c'est d'avoir une chaîne cryptée dans la balise xml de la valeur et de décrypter puis lors de la lecture, de cette façon, vous n'avez pas exposer les mots de passe.
OriginalL'auteur Kannan
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, il dépend de la taille de l'application/facteur de performance et de design.
OriginalL'auteur Eyalk