Assembly : System.Configuration (dans system.configuration.dll)
SyntaxePublic NotInheritable Class Configuration
Dim instance As Configuration
public sealed class Configuration
public ref class Configuration sealed
public final class Configuration
public final class Configuration
NotesL'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 :
Remarque |
|---|
| 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. |
-
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.
-
Remarque |
|---|
| 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.
-
ExempleL'exemple de code suivant montre comment utiliser la classe Configuration pour créer un fichier de configuration contenant une section personnalisée.
' 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
// 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.
' 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
// 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>
Sécurité des threads
Plates-formesWindows 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.
Remarque
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ