Configuration, classe (System.Configuration)

Bibliothèque de classes .NET Framework 
Configuration, classe 

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Représente un fichier de configuration applicable à un ordinateur, une application ou une ressource particulière. Cette classe ne peut pas être héritée.

Espace de noms : System.Configuration
Assembly : System.Configuration (dans system.configuration.dll)

SyntaxeSyntaxe


Visual Basic (Déclaration)
Public NotInheritable Class Configuration


Visual Basic (Utilisation)
Dim instance As Configuration


C#
public sealed class Configuration


C++
public ref class Configuration sealed


J#
public final class Configuration


JScript
public final class Configuration
NotesNotes

L'instance de classe Configuration représente l'affichage fusionné des paramètres de configuration qui s'appliquent à une entité physique spécifique, telle qu'un ordinateur, ou à une entité logique, telle qu'une application ou un site Web. L'entité logique spécifiée peut se trouver sur l'ordinateur local ou sur un serveur distant.

Lorsque aucun fichier de configuration n'existe pour une entité spécifiée, l'objet Configuration représente les paramètres de configuration par défaut tels qu'ils sont définis dans le fichier Machine.config.

Vous pouvez obtenir un objet Configuration à l'aide de l'une des méthodes de configuration Open définies par les classes suivantes :

Pour générer un fichier de configuration représentant les paramètres de configuration hérités pour une entité spécifiée, utilisez l'une des méthodes d'enregistrement de la configuration :

RemarqueRemarque

Pour activer l'accès aux paramètres de configuration sur un ordinateur distant, utilisez l'outil de ligne de commande Aspnet_regiis. Pour plus d'informations sur cet outil, consultez Outil ASP.NET IIS Registration (Aspnet_regiis.exe). Pour plus d'informations sur la création et l'accessibilité des paramètres de configuration personnalisés autres que les sections intrinsèques incluses dans le .NET Framework, consultez ConfigurationSection.

Remarques à l'attention des implémenteurs Configuration est la classe qui autorise l'accès par programme pour modifier les fichiers de configuration. Vous utilisez l'une des méthodes Open fournies par WebConfigurationManager pour les applications Web ou par ConfigurationManager pour les applications clientes. Ces méthodes retournent un objet Configuration qui fournit ensuite les méthodes et les propriétés requises pour gérer les fichiers de configuration sous-jacents. Vous pouvez accéder à ces fichiers pour lire ou écrire comme expliqué ci-dessous.

  • Lecture. Vous utilisez GetSection ou GetSectionGroup pour lire les informations de configuration. Notez que l'utilisateur ou le processus qui lit doit avoir les autorisations suivantes :

    • Autorisation en lecture sur le fichier de configuration au niveau de la hiérarchie de configuration en cours.

    • Autorisations en lecture sur tous les fichiers de configuration parents.

Si votre application requiert un accès en lecture seule à sa propre configuration et qu'il s'agit d'une application Web, il est recommandé d'utiliser les méthodes surchargées GetSection. S'il s'agit d'une application cliente, utilisez la méthode GetSection. Ces méthodes donnent accès aux valeurs de configuration mises en cache pour l'application actuelle et offrent ainsi de meilleures performances que la classe Configuration.
RemarqueRemarque

Si vous utilisez une méthode GetSection statique qui utilise un paramètre Path, ce paramètre doit faire référence à l'application dans laquelle le code s'exécute ; sinon, il est ignoré et les informations de configuration pour l'application en cours d'exécution sont retournées.

  • Écriture. Vous utilisez l'une des méthodes Save pour écrire des informations de configuration. Notez que l'utilisateur ou le processus qui écrit doit avoir les autorisations suivantes :

    • Autorisation en écriture sur le fichier de configuration et le répertoire au niveau de la hiérarchie de configuration en cours.

    • Autorisations en lecture sur tous les fichiers de configuration.

ExempleExemple

L'exemple de code suivant montre comment utiliser la classe Configuration pour créer un fichier de configuration contenant une section personnalisée.



Visual Basic
' Create a custom section.
Shared Sub CreateSection() 
    Try
        
        Dim customSection As CustomSection
        
        ' Get the current configuration file.
        Dim config As _
        System.Configuration.Configuration = _
        ConfigurationManager.OpenExeConfiguration( _
        ConfigurationUserLevel.None)
        
        ' Create the section entry  
        ' in <configSections> and the 
        ' related target section in <configuration>.
        If config.Sections("CustomSection") Is Nothing Then
            customSection = New CustomSection()
            config.Sections.Add("CustomSection", customSection)
            customSection.SectionInformation.ForceSave = True
            config.Save(ConfigurationSaveMode.Full)
            
            Console.WriteLine( _
            "Section name: {0} created", _
            customSection.SectionInformation.Name)
        End If
    
    Catch err As ConfigurationErrorsException
        Console.WriteLine(err.ToString())
    End Try

End Sub 'CreateSection
 


C#
       
// Create a custom section.
static void CreateSection()
{
    try
    {

        CustomSection customSection;

        // Get the current configuration file.
        System.Configuration.Configuration config =
                ConfigurationManager.OpenExeConfiguration(
                ConfigurationUserLevel.None);

        // Create the section entry  
        // in <configSections> and the 
        // related target section in <configuration>.
        if (config.Sections["CustomSection"] == null)
        {
            customSection = new CustomSection();
            config.Sections.Add("CustomSection", customSection);
            customSection.SectionInformation.ForceSave = true;
            config.Save(ConfigurationSaveMode.Full);

            Console.WriteLine("Section name: {0} created",
                customSection.SectionInformation.Name);

        }
    }
    catch (ConfigurationErrorsException err)
    {
        Console.WriteLine(err.ToString());
    }

}

Vous trouverez ci-dessous la définition de la section personnalisée utilisée dans l'exemple précédent.



Visual Basic
' Define a custom section.

NotInheritable Public Class CustomSection
    Inherits ConfigurationSection
    
    
    Public Enum Permissions
        FullControl = 0
        Modify = 1
        ReadExecute = 2
        Read = 3
        Write = 4
        SpecialPermissions = 5
    End Enum 'Permissions
    
    
    Public Sub New() 
    
    End Sub 'New
    
    
    
    <ConfigurationProperty("fileName", _
    DefaultValue:="default.txt"), _
    StringValidator(InvalidCharacters:=" ~!@#$%^&*()[]{}/;'""|\", _
    MinLength:=1, MaxLength:=60)> _
    Public Property FileName() As String
        Get
            Return CStr(Me("fileName"))
        End Get
        Set(ByVal value As String)
            Me("fileName") = Value
        End Set
    End Property
    
    
    <ConfigurationProperty("maxIdleTime", _
    DefaultValue:="1:30:30")> _
    Public Property MaxIdleTime() As TimeSpan
        Get
            Return CType(Me("maxIdleTime"), TimeSpan)
        End Get
        Set(ByVal value As TimeSpan)
            Me("maxIdleTime") = Value
        End Set
    End Property
    
    
    
    <ConfigurationProperty("permission", _
    DefaultValue:=Permissions.Read)> _
    Public Property Permission() As Permissions
        Get
            Return CType(Me("permission"), Permissions)
        End Get

        Set(ByVal value As Permissions)
            Me("permission") = Value
        End Set
    End Property
End Class 'CustomSection



C#
// Define a custom section.
public sealed class CustomSection :
    ConfigurationSection
{

    public enum Permissions
    {
        FullControl = 0,
        Modify = 1,
        ReadExecute = 2,
        Read = 3,
        Write = 4,
        SpecialPermissions = 5
    }

    public CustomSection()
    {

    }

    [ConfigurationProperty("fileName", 
        DefaultValue = "default.txt")]
    [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
               MinLength = 1, MaxLength = 60)]
    public String FileName
    {
        get
        {
            return (String)this["fileName"];
        }
        set
        {
            this["fileName"] = value;
        }
    }
   
    [ConfigurationProperty("maxIdleTime", DefaultValue="1:30:30")]
    public TimeSpan MaxIdleTime
    {
        get
        {
            return (TimeSpan)this["maxIdleTime"];
        }
        set
        {
            this["maxIdleTime"] = value;
        }
    }
    

    [ConfigurationProperty("permission", 
        DefaultValue = Permissions.Read)]
    public Permissions Permission
    {
        get
        {
            return (Permissions)this["permission"];
        }

        set
        {
            this["permission"] = value;
        }

    }
  
}

Vous trouverez ci-dessous un extrait de configuration utilisé dans l'exemple précédent.



<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <configSections>
    <section name="CustomSection" type="Samples.AspNet.CustomSection, 
      Configuration, Version=1.0.0.0, Culture=neutral, 
      PublicKeyToken=null" allowDefinition="Everywhere" 
      allowExeDefinition="MachineToApplication" 
      restartOnExternalChanges="true" />
  </configSections>
    <CustomSection fileName="default.txt" maxIdleTime="01:30:30"
      permission="Read" />

</configuration>
Hiérarchie d'héritageHiérarchie d'héritage
System.Object
  System.Configuration.Configuration
Sécurité des threadsSécurité des threads
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plates-formesPlates-formes

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

Informations de versionInformations de version

.NET Framework

Prise en charge dans : 2.0
Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/system.configuration.configuration.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

7 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-4426
Document créé le 19/10/06 20:17, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-system.configuration.configuration.html Document affiché 4 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,44 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Mieux vaut être optimiste et se tromper que pessimiste et avoir raison.

Jack Penn
 
l'infobrol
Nous sommes le Jeudi 31 Mai 2012, 18:55, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)