Diferencias
Muestra las diferencias entre dos versiones de la página.
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> | ||
+ |