ConfigurationManager (Clase)
Ensamblado: System.Configuration (en system.configuration.dll)
La clase ConfigurationManager permite obtener acceso a la información de configuración de usuarios, aplicaciones y equipos. Esta clase reemplaza la clase ConfigurationSettings, que queda en desuso.
Las aplicaciones cliente se ejecutan en el cliente, mientras que las aplicaciones Web se ejecutan en el servidor al que está conectado el cliente.
Para controlar la información de configuración, se pueden utilizar los tipos System.Configuration integrados o derivados de ellos. El uso de estos tipos permite trabajar directamente con la información de configuración y ampliar los archivos de configuración para que incluyan la información personalizada.
La clase ConfigurationManager incluye miembros que permiten llevar a cabo las tareas siguientes.
-
Leer una sección de un archivo de configuración. Para obtener acceso a la información de configuración, llame al método GetSection. Para algunas secciones como appSettings y connectionStrings, utilice las clases de AppSettings y ConnectionStrings. Estos miembros llevan a cabo operaciones de sólo lectura, utilizan una única instancia almacenada en memoria caché de la configuración y reconocen los multiprocesos.
-
Leer y escribir totalmente archivos de configuración. La aplicación puede leer y escribir las opciones de configuración en cualquier nivel, para sí o para otras aplicaciones o equipos, de forma local o remota. Para abrir un archivo de configuración como SampleApp.exe.config, utilice uno de los métodos proporcionados por la clase ConfigurationManager. Estos métodos devuelven un objeto Configuration que, a su vez, expone métodos y propiedades que se pueden utilizar para trabajar con los archivos de configuración asociados. Los métodos llevan a cabo operaciones de lectura o escritura y vuelven a crear los datos de configuración cada vez que se escribe en un archivo.
-
Compatibilizar tareas de configuración. Para compatibilizar las diversas tareas de configuración, se utilizan los tipos siguientes:
Además de trabajar con la información de configuración existente, se pueden crear elementos de configuración personalizados, y trabajar con ellos, extendiendo los tipos de configuración integrados como las clases ConfigurationElement, ConfigurationElementCollection, ConfigurationProperty y ConfigurationSection. Para obtener un ejemplo sobre la forma de extender mediante programación un tipo de configuración integrado, vea ConfigurationSection. Para obtener un ejemplo sobre la forma de extender un tipo de configuración integrado mediante el modelo basado en atributos, vea ConfigurationElement.
-
Permiso de lectura para el archivo de configuración del nivel de jerarquía de configuración actual.
-
Permisos de lectura para todos los archivos de configuración principal.
-
Permiso de escritura para el directorio y el archivo de configuración del nivel de jerarquía de configuración actual.
-
Permisos de lectura para todos los archivos de configuración.
En el ejemplo de código siguiente se muestra cómo utilizar la clase ConfigurationManager para obtener acceso a una sección de configuración personalizada. Si la sección no existe, se crea y agrega al archivo de configuración. La implementación de la clase de sección personalizada que se utiliza en este ejemplo es la que se desarrolla en el ejemplo de la clase ConfigurationPropertyAttribute.
// Create a custom section. static UsingConfigurationManager() { // Get the application configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // If the section does not exist in the configuration // file, create it and save it to the file. if (config.Sections[customSectionName] == null) { custSection = new CustomSection(); config.Sections.Add(customSectionName, custSection); custSection = config.GetSection(customSectionName) as CustomSection; custSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Full); } }
El ejemplo trabaja con los elementos que se muestran en el archivo de configuración siguiente, que se genera la primera vez que se ejecuta el ejemplo.
Nota |
|---|
| Debe establecer el atributo Version para reflejar sus requisitos de control de versiones. |
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="CustomSection"
type="Samples.Config.CustomSection,
ConfigurationManager,
Version=1.0.0.0,
Culture=neutralPublicKeyToken=null"
allowDefinition="Everywhere"
allowExeDefinition="MachineToApplication"
restartOnExternalChanges="true" />
</configSections>
<connectionStrings>
<add name="ConnStr1"
connectionString="LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb"
providerName="System.Data.SqlClient" />
<add name="ConnStr2"
connectionString="LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="AppSetting0"
value="Monday, February 28, 2005 1:27:59 PM" />
<add key="AppSetting1"
value="Monday, February 28, 2005 1:36:40 PM" />
</appSettings>
<CustomSection fileName="default.txt" maxUsers="1000"
maxIdleTime="00:10:00" />
</configuration>
Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.
- 14/09/2008
- windows xp professional x64 edition
Nota