Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

ConfigurationSection classe

 

Date de publication : novembre 2016

Représente une section dans un fichier de configuration.

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

System.Object
  System.Configuration.ConfigurationElement
    System.Configuration.ConfigurationSection
      System.Configuration.AppSettingsSection
      System.Configuration.ClientSettingsSection
      System.Configuration.ConnectionStringsSection
      System.Configuration.DefaultSection
      System.Configuration.IgnoreSection
      System.Configuration.ProtectedConfigurationSection
      System.Configuration.UriSection
      System.Data.Services.Configuration.DataServicesFeaturesSection
      System.Drawing.Configuration.SystemDrawingSection
      System.IdentityModel.Configuration.SystemIdentityModelSection
      System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection
      System.Net.Configuration.AuthenticationModulesSection
      System.Net.Configuration.ConnectionManagementSection
      System.Net.Configuration.DefaultProxySection
      System.Net.Configuration.RequestCachingSection
      System.Net.Configuration.SettingsSection
      System.Net.Configuration.SmtpSection
      System.Net.Configuration.WebRequestModulesSection
      System.Runtime.Caching.Configuration.MemoryCacheSection
      System.Runtime.Serialization.Configuration.DataContractSerializerSection
      System.Runtime.Serialization.Configuration.NetDataContractSerializerSection
      System.ServiceModel.Activation.Configuration.DiagnosticSection
      System.ServiceModel.Activation.Configuration.NetPipeSection
      System.ServiceModel.Activation.Configuration.NetTcpSection
      System.ServiceModel.Activities.Configuration.WorkflowHostingOptionsSection
      System.ServiceModel.Activities.Tracking.Configuration.TrackingSection
      System.ServiceModel.Configuration.BehaviorsSection
      System.ServiceModel.Configuration.BindingsSection
      System.ServiceModel.Configuration.ClientSection
      System.ServiceModel.Configuration.ComContractsSection
      System.ServiceModel.Configuration.CommonBehaviorsSection
      System.ServiceModel.Configuration.DiagnosticSection
      System.ServiceModel.Configuration.ExtensionsSection
      System.ServiceModel.Configuration.ProtocolMappingSection
      System.ServiceModel.Configuration.ServiceHostingEnvironmentSection
      System.ServiceModel.Configuration.ServicesSection
      System.ServiceModel.Configuration.StandardEndpointsSection
      System.ServiceModel.Routing.Configuration.RoutingSection
      System.Transactions.Configuration.DefaultSettingsSection
      System.Transactions.Configuration.MachineSettingsSection
      System.Web.Configuration.AnonymousIdentificationSection
      System.Web.Configuration.AuthenticationSection
      System.Web.Configuration.AuthorizationSection
      System.Web.Configuration.CacheSection
      System.Web.Configuration.ClientTargetSection
      System.Web.Configuration.CompilationSection
      System.Web.Configuration.CustomErrorsSection
      System.Web.Configuration.DeploymentSection
      System.Web.Configuration.FullTrustAssembliesSection
      System.Web.Configuration.GlobalizationSection
      System.Web.Configuration.HealthMonitoringSection
      System.Web.Configuration.HostingEnvironmentSection
      System.Web.Configuration.HttpCookiesSection
      System.Web.Configuration.HttpHandlersSection
      System.Web.Configuration.HttpModulesSection
      System.Web.Configuration.HttpRuntimeSection
      System.Web.Configuration.IdentitySection
      System.Web.Configuration.MachineKeySection
      System.Web.Configuration.MembershipSection
      System.Web.Configuration.OutputCacheSection
      System.Web.Configuration.OutputCacheSettingsSection
      System.Web.Configuration.PagesSection
      System.Web.Configuration.PartialTrustVisibleAssembliesSection
      System.Web.Configuration.ProcessModelSection
      System.Web.Configuration.ProfileSection
      System.Web.Configuration.ProtocolsSection
      System.Web.Configuration.RoleManagerSection
      System.Web.Configuration.ScriptingAuthenticationServiceSection
      System.Web.Configuration.ScriptingJsonSerializationSection
      System.Web.Configuration.ScriptingProfileServiceSection
      System.Web.Configuration.ScriptingRoleServiceSection
      System.Web.Configuration.ScriptingScriptResourceHandlerSection
      System.Web.Configuration.SecurityPolicySection
      System.Web.Configuration.SessionPageStateSection
      System.Web.Configuration.SessionStateSection
      System.Web.Configuration.SiteMapSection
      System.Web.Configuration.SqlCacheDependencySection
      System.Web.Configuration.TraceSection
      System.Web.Configuration.TrustSection
      System.Web.Configuration.UrlMappingsSection
      System.Web.Configuration.WebControlsSection
      System.Web.Configuration.WebPartsSection
      System.Web.Configuration.XhtmlConformanceSection
      System.Web.Mobile.DeviceFiltersSection
      System.Web.Services.Configuration.WebServicesSection
      System.Web.UI.MobileControls.MobileControlsSection
      System.Windows.Forms.WindowsFormsSection
      System.Workflow.Activities.Configuration.ActiveDirectoryRoleFactoryConfiguration
      System.Workflow.Activities.ExternalDataExchangeServiceSection
      System.Workflow.Runtime.Configuration.WorkflowRuntimeSection
      System.Xml.Serialization.Configuration.DateTimeSerializationSection
      System.Xml.Serialization.Configuration.SchemaImporterExtensionsSection
      System.Xml.Serialization.Configuration.XmlSerializerSection
      System.Xml.XmlConfiguration.XmlReaderSection
      System.Xml.XmlConfiguration.XsltConfigSection

public abstract class ConfigurationSection : ConfigurationElement

NomDescription
System_CAPS_protmethodConfigurationSection()

Initialise une nouvelle instance de la classe ConfigurationSection.

NomDescription
System_CAPS_pubpropertyCurrentConfiguration

Obtient une référence à un niveau supérieur Configuration instance qui représente la hiérarchie de configuration qui actuel ConfigurationElement instance appartient.(Hérité de ConfigurationElement.)

System_CAPS_pubpropertyElementInformation

Obtient un ElementInformation objet qui contient les informations non personnalisables de la ConfigurationElement objet.(Hérité de ConfigurationElement.)

System_CAPS_protpropertyElementProperty

Obtient le ConfigurationElementProperty objet qui représente le ConfigurationElement objet lui-même.(Hérité de ConfigurationElement.)

System_CAPS_protpropertyEvaluationContext

Obtient l'objet ContextInformation pour l'objet ConfigurationElement.(Hérité de ConfigurationElement.)

System_CAPS_protpropertyHasContext

Obtient une valeur qui indique si le CurrentConfiguration propriété est null.(Hérité de ConfigurationElement.)

System_CAPS_protpropertyItem[ConfigurationProperty]

Obtient ou définit une propriété ou un attribut de cet élément de configuration.(Hérité de ConfigurationElement.)

System_CAPS_protpropertyItem[String]

Obtient ou définit une propriété, un attribut ou un élément enfant de cet élément de configuration.(Hérité de ConfigurationElement.)

System_CAPS_pubpropertyLockAllAttributesExcept

Obtient la collection d’attributs verrouillés.(Hérité de ConfigurationElement.)

System_CAPS_pubpropertyLockAllElementsExcept

Obtient la collection d’éléments verrouillés.(Hérité de ConfigurationElement.)

System_CAPS_pubpropertyLockAttributes

Obtient la collection d’attributs verrouillés (Hérité de ConfigurationElement.)

System_CAPS_pubpropertyLockElements

Obtient la collection d’éléments verrouillés.(Hérité de ConfigurationElement.)

System_CAPS_pubpropertyLockItem

Obtient ou définit une valeur indiquant si l’élément est verrouillé.(Hérité de ConfigurationElement.)

System_CAPS_protpropertyProperties

Obtient la collection de propriétés.(Hérité de ConfigurationElement.)

System_CAPS_pubpropertySectionInformation

Obtient un SectionInformation objet qui contient les informations non personnalisables de la ConfigurationSection objet.

NomDescription
System_CAPS_protmethodDeserializeElement(XmlReader, Boolean)

Lit du XML à partir du fichier de configuration.(Hérité de ConfigurationElement.)

System_CAPS_protmethodDeserializeSection(XmlReader)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Lit du XML à partir du fichier de configuration.

System_CAPS_pubmethodEquals(Object)

Compare l’actuel ConfigurationElement instance à l’objet spécifié.(Hérité de ConfigurationElement.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Obtient une valeur unique représentant actuel ConfigurationElement instance.(Hérité de ConfigurationElement.)

System_CAPS_protmethodGetRuntimeObject()

Retourne un objet personnalisé en cas de substitution dans une classe dérivée.

System_CAPS_protmethodGetTransformedAssemblyString(String)

Retourne la version transformée du nom de l’assembly spécifié.(Hérité de ConfigurationElement.)

System_CAPS_protmethodGetTransformedTypeString(String)

Retourne la version transformée du nom de type spécifié.(Hérité de ConfigurationElement.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_protmethodInit()

Définit le ConfigurationElement objet à son état initial.(Hérité de ConfigurationElement.)

System_CAPS_protmethodInitializeDefault()

Utilisé pour initialiser un jeu de valeurs pour le ConfigurationElement objet.(Hérité de ConfigurationElement.)

System_CAPS_protmethodIsModified()

Indique si cet élément de configuration a été modifié depuis son dernier enregistrement ou chargé en cas d’implémentation dans une classe dérivée.(Remplace ConfigurationElement.IsModified().)

System_CAPS_pubmethodIsReadOnly()

Obtient une valeur indiquant si le ConfigurationElement objet est en lecture seule.(Hérité de ConfigurationElement.)

System_CAPS_protmethodListErrors(IList)

Ajoute les erreurs de propriété non valide dans ce ConfigurationElement objet et dans tous les sous-éléments à la liste passée.(Hérité de ConfigurationElement.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodOnDeserializeUnrecognizedAttribute(String, String)

Obtient une valeur indiquant si un attribut inconnu est rencontré pendant la désérialisation.(Hérité de ConfigurationElement.)

System_CAPS_protmethodOnDeserializeUnrecognizedElement(String, XmlReader)

Obtient une valeur indiquant si un élément inconnu est rencontré pendant la désérialisation.(Hérité de ConfigurationElement.)

System_CAPS_protmethodOnRequiredPropertyNotFound(String)

Lève une exception lorsqu’une propriété requise est introuvable.(Hérité de ConfigurationElement.)

System_CAPS_protmethodPostDeserialize()

Appelé après la désérialisation.(Hérité de ConfigurationElement.)

System_CAPS_protmethodPreSerialize(XmlWriter)

Appelé avant la sérialisation.(Hérité de ConfigurationElement.)

System_CAPS_protmethodReset(ConfigurationElement)

Rétablit l'état interne de l'objet ConfigurationElement, y compris les verrouillages et les collections de propriétés.(Hérité de ConfigurationElement.)

System_CAPS_protmethodResetModified()

Réinitialise la valeur de la méthode IsModified à false en cas d’implémentation dans une classe dérivée.(Remplace ConfigurationElement.ResetModified().)

System_CAPS_protmethodSerializeElement(XmlWriter, Boolean)

Écrit le contenu de cet élément de configuration dans le fichier de configuration en cas d’implémentation dans une classe dérivée.(Hérité de ConfigurationElement.)

System_CAPS_protmethodSerializeSection(ConfigurationElement, String, ConfigurationSaveMode)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Crée une chaîne XML contenant un affichage non fusionné de la ConfigurationSection objet sous la forme d’une section unique à écrire dans un fichier.

System_CAPS_protmethodSerializeToXmlElement(XmlWriter, String)

Écrit les balises externes de cet élément de configuration dans le fichier de configuration en cas d’implémentation dans une classe dérivée.(Hérité de ConfigurationElement.)

System_CAPS_protmethodSetPropertyValue(ConfigurationProperty, Object, Boolean)

Définit une propriété à la valeur spécifiée.(Hérité de ConfigurationElement.)

System_CAPS_protmethodSetReadOnly()

Définit le IsReadOnly propriété pour la ConfigurationElement objet et tous ses sous-éléments.(Hérité de ConfigurationElement.)

System_CAPS_protmethodShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName)

Indique si l’élément spécifié doit être sérialisé lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée de la .NET Framework.

System_CAPS_protmethodShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement)

Indique si la propriété spécifiée doit être sérialisée lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée de la .NET Framework.

System_CAPS_protmethodShouldSerializeSectionInTargetVersion(FrameworkName)

Indique si l’actuel ConfigurationSection instance doit être sérialisée lorsque la hiérarchie d’objets de configuration est sérialisée pour la version cible spécifiée de la .NET Framework.

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodUnmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modifie le ConfigurationElement objet à supprimer toutes les valeurs qui ne doivent pas être enregistrées.(Hérité de ConfigurationElement.)

Vous utilisez la ConfigurationSection classe pour implémenter un type de section personnalisé. Étendre la ConfigurationSection classe pour fournir une gestion personnalisée et un accès par programme aux sections de configuration personnalisées. Pour plus d’informations sur l’utilisation des sections de configuration personnalisées, consultez How to: Create Custom Configuration Sections Using ConfigurationSection.

Une section enregistre son type de gestion avec une entrée dans le configSections élément. Pour obtenir un exemple, consultez l’extrait de fichier de configuration indiqué dans la section exemple.

System_CAPS_noteRemarque

Dans les versions antérieures du .NET Framework, les gestionnaires de section de configuration ont été utilisés pour apporter des modifications aux paramètres de configuration par programme. Désormais, toutes les sections de configuration par défaut sont représentées par les classes qui étendent la ConfigurationSection classe.

Remarques à l’attention des implémenteurs :

Vous pouvez utiliser un modèle de codage déclaratif (attribué) ou par programmation pour créer des sections de configuration personnalisées :

  • Modèle de programmation. Ce modèle nécessite pour chaque attribut de section la création d’une propriété pour obtenir ou définir sa valeur et l’ajouter au sac de propriétés internes de l’infrastructure ConfigurationElement classe de base.

  • Modèle déclaratif. Ce modèle plus simple, également appelé modèle attribué, vous permet de définir un attribut section en utilisant une propriété et en décorant avec des attributs. Ces attributs donnent le système de configuration ASP.NET sur les types de propriétés et leurs valeurs par défaut. Avec ces informations, obtenues par réflexion, le système de configuration ASP.NET crée les objets de propriété section et exécute l’initialisation requise.

La Configuration classe permet un accès par programme pour modifier les fichiers de configuration. Vous pouvez accéder à ces fichiers pour lire ou écrire comme suit :

  • La 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 de lecture sur le fichier de configuration au niveau de la hiérarchie de configuration en cours.

    • Autorisations de lecture sur tous les fichiers de configuration.

    Si votre application requiert un accès en lecture seule à sa propre configuration, il est recommandé d’utiliser le GetSection surchargées des méthodes dans le cas des applications Web, ou la ConfigurationManager.GetSection méthode dans le cas des applications clientes.

    Ces méthodes donnent accès aux valeurs de configuration mises en cache pour l’application actuelle, qui offre de meilleures performances que la Configuration classe.

    System_CAPS_noteRemarque

    Si vous utilisez statique GetSection méthode qui prend un path paramètre, le path paramètre doit faire référence à l’application dans laquelle le code s’exécute ; sinon, le paramètre est ignoré et les informations de configuration de l’application en cours d’exécution sont renvoyées.

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

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

    • Autorisations de lecture sur tous les fichiers de configuration.

L’exemple suivant montre comment implémenter une section personnalisée par programme.

Pour obtenir un exemple complet qui montre comment implémenter et utiliser une section personnalisée implémentée à l’aide du modèle par attributs, consultez ConfigurationElement.

// Define a custom section.
// The CustomSection type allows to define a custom section 
// programmatically.
public sealed class CustomSection : 
    ConfigurationSection
{
    // The collection (property bag) that contains 
    // the section properties.
    private static ConfigurationPropertyCollection _Properties;

    // Internal flag to disable 
    // property setting.
    private static bool _ReadOnly;

    // The FileName property.
    private static readonly ConfigurationProperty _FileName =
        new ConfigurationProperty("fileName", 
        typeof(string),"default.txt", 
        ConfigurationPropertyOptions.IsRequired);

    // The MaxUsers property.
    private static readonly ConfigurationProperty _MaxUsers =
        new ConfigurationProperty("maxUsers", 
        typeof(long), (long)1000, 
        ConfigurationPropertyOptions.None);

    // The MaxIdleTime property.
    private static readonly ConfigurationProperty _MaxIdleTime =
        new ConfigurationProperty("maxIdleTime", 
        typeof(TimeSpan), TimeSpan.FromMinutes(5), 
        ConfigurationPropertyOptions.IsRequired);

    // CustomSection constructor.
    public CustomSection()
    {
        // Property initialization
        _Properties = 
            new ConfigurationPropertyCollection();

        _Properties.Add(_FileName);
        _Properties.Add(_MaxUsers);
        _Properties.Add(_MaxIdleTime);
   }


    // This is a key customization. 
    // It returns the initialized property bag.
    protected override ConfigurationPropertyCollection Properties
    {
        get
        {
            return _Properties;
        }
    }


    private new bool IsReadOnly
    {
        get
        {
            return _ReadOnly;
        }
    }

    // Use this to disable property setting.
    private void ThrowIfReadOnly(string propertyName)
    {
        if (IsReadOnly)
            throw new ConfigurationErrorsException(
                "The property " + propertyName + " is read only.");
    }


    // Customizes the use of CustomSection
    // by setting _ReadOnly to false.
    // Remember you must use it along with ThrowIfReadOnly.
    protected override object GetRuntimeObject()
    {
        // To enable property setting just assign true to
        // the following flag.
        _ReadOnly = true;
        return base.GetRuntimeObject();
    }


    [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
        MinLength = 1, MaxLength = 60)]
    public string FileName
    {
        get
        {
            return (string)this["fileName"];
        }
        set
        {
            // With this you disable the setting.
            // Remember that the _ReadOnly flag must
            // be set to true in the GetRuntimeObject.
            ThrowIfReadOnly("FileName");
            this["fileName"] = value;
        }
    }

    [LongValidator(MinValue = 1, MaxValue = 1000000,
        ExcludeRange = false)]
    public long MaxUsers
    {
        get
        {
            return (long)this["maxUsers"];
        }
        set
        {
            this["maxUsers"] = value;
        }
    }

    [TimeSpanValidator(MinValueString = "0:0:30",
        MaxValueString = "5:00:0",
        ExcludeRange = false)]
    public TimeSpan MaxIdleTime
    {
        get
        {
            return  (TimeSpan)this["maxIdleTime"];
        }
        set
        {
            this["maxIdleTime"] = value;
        }
    }


}

L’exemple suivant est un extrait du fichier de configuration, telle qu’elle s’applique à l’exemple précédent.

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

<configuration>

<configSections>

<section name="CustomSection" type="Samples.AspNet. CustomSection, CustomConfigurationSection, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" allowDefinition="Everywhere" allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" />

</configSections>

<CustomSection fileName="default.txt" maxUsers="1000" maxIdleTime="00:15:00" />

</configuration>

.NET Framework
Disponible depuis 2.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: