Fichier de configuration : custom section, custom element (system.configuration)

Soyez le premier à donner votre avis sur cette source.

Vue 14 204 fois - Téléchargée 496 fois

Description

Custom Configuration File C#

J'ai voulu faire quelque chose de très simple, et finalement j'ai passé plusieurs heures dans la documentation avant d'arriver à ce que je voulais : créer un fichier de configuration qui me permet d'avoir une section personnalisée que je pourrais crypter pour stocker des données qui peuvent être sensibles, et faire en sorte que chaque user ait son propre fichier.

La solution est très simple : il faut dériver des classes ConfigurationSection, ConfigurationElement et ConfigurationElementCollection. Avec relativement peut de ligne, on peut faire quelques choses de tout à fait acceptable mais j'ai eu pas mal de peine à trouver un code simple sur le net qui met ceci en oeuvre. D'où cette source qui s'adresse donc aux débutants et aux personnes ne connaissant pas (ou peu) le namespace System.Configuration.

Source / Exemple :


Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
            CriticalSection criticalSection = configuration.SectionGroups["userSettings"].Sections["CriticalSection"] as CriticalSection;
            if (criticalSection != null)
            {
                // Section property
                criticalSection.Id = 1;
                criticalSection.Username = "Bidou";

                // Element property
                criticalSection.AddresseElement.Street = "myStreet";
                criticalSection.AddresseElement.Number = 22;

                // Elements property
                criticalSection.ComputerElements.Add(new ComputerElement("INSPIRON", 2007));
                criticalSection.ComputerElements.Add(new ComputerElement("Other"));
                criticalSection.ComputerElements.Add(new ComputerElement("P4", 2005));
                criticalSection.ComputerElements.Add(new ComputerElement());
                criticalSection.ComputerElements.Add(new ComputerElement("ACER", 2004));

                // Protect the section with a RSA algorithm
                if (!criticalSection.SectionInformation.IsProtected && 
                    !criticalSection.SectionInformation.IsLocked) 
                    criticalSection.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
                criticalSection.SectionInformation.ForceSave = true;
            }
            configuration.Save();

Conclusion :


Lecture utile pour approfondir le sujet:

http://msdn.microsoft.com/msdnmag/issues/06/06/ConfigureThis/default.aspx
http://msdn.microsoft.com/msdnmag/issues/05/04/AdvancedBasics/default.aspx
http://www.codeproject.com/dotnet/mysteriesofconfiguration.asp

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32 -
Sympa... bon exemple d'utilisation des fichiers de configurations en .net 2.0

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.