Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

ConfigurationSection, classe

Représente une section dans un fichier de configuration.

System.Object
  System.Configuration.ConfigurationElement
    System.Configuration.ConfigurationSection
      En savoir plus...

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

public abstract class ConfigurationSection : ConfigurationElement

Le type ConfigurationSection expose les membres suivants.

  NomDescription
Méthode protégéeConfigurationSectionInitialise une nouvelle instance de la classe ConfigurationSection.
Début

  NomDescription
Propriété publiqueCurrentConfigurationObtient une référence à l'instance Configuration de niveau supérieur qui représente la hiérarchie de configuration à laquelle l'instance ConfigurationElement actuelle appartient. (Hérité de ConfigurationElement.)
Propriété publiqueElementInformationObtient un objet ElementInformation qui contient les fonctionnalités et informations non personnalisables de l'objet ConfigurationElement. (Hérité de ConfigurationElement.)
Propriété protégéeElementPropertyObtient l'objet ConfigurationElementProperty qui représente l'objet ConfigurationElement lui-même. (Hérité de ConfigurationElement.)
Propriété protégéeEvaluationContextObtient l'objet ContextInformation pour l'objet ConfigurationElement. (Hérité de ConfigurationElement.)
Propriété protégéeHasContextObtient une valeur qui indique si la propriété CurrentConfiguration a la valeur null. (Hérité de ConfigurationElement.)
Propriété protégéeItem[ConfigurationProperty]Obtient ou définit une propriété ou un attribut de cet élément de configuration. (Hérité de ConfigurationElement.)
Propriété protégéeItem[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.)
Propriété publiqueLockAllAttributesExceptObtient la collection d'attributs verrouillés. (Hérité de ConfigurationElement.)
Propriété publiqueLockAllElementsExceptObtient la collection d'éléments verrouillés. (Hérité de ConfigurationElement.)
Propriété publiqueLockAttributesObtient la collection d'attributs verrouillés. (Hérité de ConfigurationElement.)
Propriété publiqueLockElementsObtient la collection d'éléments verrouillés. (Hérité de ConfigurationElement.)
Propriété publiqueLockItemObtient ou définit une valeur indiquant si l'élément est verrouillé. (Hérité de ConfigurationElement.)
Propriété protégéePropertiesObtient la collection de propriétés. (Hérité de ConfigurationElement.)
Propriété publiqueSectionInformationObtient un objet SectionInformation qui contient les fonctionnalités et informations non personnalisables de l'objet ConfigurationSection.
Début

  NomDescription
Méthode protégéeDeserializeElementLit le langage XML dans le fichier de configuration. (Hérité de ConfigurationElement.)
Méthode protégéeDeserializeSectionInfrastructure. Lit le langage XML dans le fichier de configuration.
Méthode publiqueEqualsCompare l'instance de ConfigurationElement actuelle avec l'objet spécifié. (Hérité de ConfigurationElement.)
Méthode protégéeFinalize 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.)
Méthode publiqueGetHashCodeObtient une valeur unique représentant l'instance actuelle de ConfigurationElement. (Hérité de ConfigurationElement.)
Méthode protégéeGetRuntimeObjectRetourne un objet personnalisé en cas de substitution dans une classe dérivée.
Méthode protégéeGetTransformedAssemblyStringRetourne la version transformée du nom de l'assembly spécifié. (Hérité de ConfigurationElement.)
Méthode protégéeGetTransformedTypeStringRetourne la version transformée du nom de type spécifié. (Hérité de ConfigurationElement.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéeInitRétablit l'état initial de l'objet ConfigurationElement. (Hérité de ConfigurationElement.)
Méthode protégéeInitializeDefaultUtilisé pour initialiser un jeu de valeurs par défaut pour l'objet ConfigurationElement. (Hérité de ConfigurationElement.)
Méthode protégéeIsModifiedIndique si cet élément de configuration a été modifié depuis son dernier enregistrement ou chargement lorsqu'il est implémenté dans une classe dérivée. (Substitue ConfigurationElement.IsModified().)
Méthode publiqueIsReadOnlyObtient une valeur indiquant si l'objet ConfigurationElement est en lecture seule. (Hérité de ConfigurationElement.)
Méthode protégéeListErrorsAjoute les erreurs de propriété non valide dans cet objet ConfigurationElement et dans tous les sous-éléments à la liste passée. (Hérité de ConfigurationElement.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégéeOnDeserializeUnrecognizedAttributeObtient une valeur indiquant si un attribut inconnu est rencontré pendant la désérialisation. (Hérité de ConfigurationElement.)
Méthode protégéeOnDeserializeUnrecognizedElementObtient une valeur indiquant si un élément inconnu est rencontré pendant la désérialisation. (Hérité de ConfigurationElement.)
Méthode protégéeOnRequiredPropertyNotFoundLève une exception lorsqu'une propriété requise est introuvable. (Hérité de ConfigurationElement.)
Méthode protégéePostDeserializeAppelé après la désérialisation. (Hérité de ConfigurationElement.)
Méthode protégéePreSerializeAppelé avant la sérialisation. (Hérité de ConfigurationElement.)
Méthode protégéeResetRétablit l'état interne de l'objet ConfigurationElement, y compris les verrouillages et les collections de propriétés. (Hérité de ConfigurationElement.)
Méthode protégéeResetModifiedRéinitialise la valeur de la méthode IsModified à false lorsqu'elle est implémentée dans une classe dérivée. (Substitue ConfigurationElement.ResetModified().)
Méthode protégéeSerializeElementÉcrit le contenu de cet élément de configuration dans le fichier de configuration lorsqu'il est implémenté dans une classe dérivée. (Hérité de ConfigurationElement.)
Méthode protégéeSerializeSectionInfrastructure. Crée une chaîne XML contenant un affichage non fusionné de l'objet ConfigurationSection sous la forme d'une section unique à écrire dans un fichier.
Méthode protégéeSerializeToXmlElementÉcrit les balises extérieures de cet élément de configuration dans le fichier de configuration lorsqu'il est implémenté dans une classe dérivée. (Hérité de ConfigurationElement.)
Méthode protégéeSetPropertyValueAffecte la valeur spécifiée à une propriété. (Hérité de ConfigurationElement.)
Méthode protégéeSetReadOnlyDéfinit la propriété IsReadOnly pour l'objet ConfigurationElement et tous les sous-éléments. (Hérité de ConfigurationElement.)
Méthode protégéeShouldSerializeElementInTargetVersionIndique 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 du .NET Framework.
Méthode protégéeShouldSerializePropertyInTargetVersionIndique 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 du .NET Framework.
Méthode protégéeShouldSerializeSectionInTargetVersionIndique si l'instance ConfigurationSection actuelle doit être sérialisée lorsque la hiérarchie d'objets de configuration est sérialisée pour la version cible spécifiée du .NET Framework.
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Méthode protégéeUnmergeModifie l'objet ConfigurationElement pour supprimer toutes les valeurs qui ne doivent pas être enregistrées. (Hérité de ConfigurationElement.)
Début

Vous utilisez la classe ConfigurationSection pour implémenter un type de section personnalisé. Étendez la classe ConfigurationSection 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ée, consultez How to: Create Custom Configuration Sections Using ConfigurationSection.

Une section inscrit son type de gestion à l'aide d'une entrée dans l'élément configSections. Pour obtenir un exemple, consultez l'extrait de fichier de configuration présenté dans la section Exemple.

RemarqueRemarque

Dans les versions antérieures du .NET Framework, les gestionnaires de section de configuration étaient 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 des classes qui étendent la classe ConfigurationSection.

Remarques à l'attention des implémenteurs

Vous pouvez utiliser un modèle de codage déclaratif (par attributs) ou de 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é afin d'obtenir ou de définir sa valeur et de l'ajouter au sac de propriétés interne de la classe de base ConfigurationElement sous-jacente.

  • Modèle déclaratif. Ce modèle plus simple, également appelé « modèle par attributs », vous permet de définir un attribut de section en utilisant une propriété et en la décorant avec des attributs. Ces attributs donnent au système de configuration ASP.NET des informations sur les types de propriété 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és de section et exécute l'initialisation requise.

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

  • 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, il est recommandé d'utiliser les méthodes surchargées GetSection() lorsqu'il s'agit d'une application Web, ou la méthode ConfigurationManager.GetSection lorsqu'il s'agit d'une application cliente.

    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 statique GetSection qui utilise un paramètre path, ce paramètre path doit faire référence à l'application dans laquelle le code s'exécute ; sinon, il est ignoré et les informations de configuration de 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.

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

Pour obtenir un exemple complet qui illustre l'implémentation et l'utilisation d'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 tel qu'il 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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

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

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft