Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cap:dotnet:config [2018/02/23 11:45]
user [¿Como funciona?]
cap:dotnet:config [2018/02/23 16:40] (actual)
user [En el archivo de configuración]
Línea 28: Línea 28:
  
 =====¿Como se define una configuración personalizada?​===== =====¿Como se define una configuración personalizada?​=====
 +La configuración personalizada se define en 2 partes.
 +
 +  - En el código
 +  - En el archivo de configuración
 +
 +====En el código====
 +  * Se tiene que crear una clase y hacer que esta clase implemente la interface //​IConfigurationSectionHandler//​.
 +  * En el método **create** escribir el código necesario para leer el contenido XML de la configuración y pasarla a la entidad o entidades necesarias.
 +
 +<code csharp>
 +public class MiConfiguracion : IConfigurationSectionHandler ​
 +{
 +   ​public object Create(object parent, object configContext,​ XmlNode section)
 +   {
 +      //Leer XmlNode section para obtener los valores de la configuracion
 +   }
 +}
 +</​code>​
 +====En el archivo de configuración====
 +  * Agregar en la sección **configuration/​configSections** la referencia a nuestra clase de configuración.
 +  * Agregar en la sección **configuration** el contenido xml que define la configuración de nuestra clase de configuración
 +    * Podemos trasladar el contenido a un archivo por medio del atributo //​configSource//​.
 +
 +**Opción 1**
 +<code xml>
 +<​configuration>​
 +   <​configSections>​
 +      <section name="​nombreSeccion"​ type="​Full Qualified Name" />
 +   </​configSections>​
 +   <​nombreSeccion>​
 +      <​elementosDeConfiguracion atributosDeConfiguracion=""​ />
 +   </​nombreSeccion>​
 +</​configuration>​
 +</​code>​
 +
 +**Opción 2**
 +<code xml>
 +<​configuration>​
 +   <​configSections>​
 +      <section name="​nombreSeccion"​ type="​Full Qualified Name" />
 +   </​configSections>​
 +   <​nombreSeccion configSource="​nombreArchivoConfiguracion"​ />
 +</​configuration>​
 +</​code>​
 +