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:44] user [¿Como funciona?] |
cap:dotnet:config [2018/02/23 16:40] (actual) user [En el archivo de configuración] |
||
|---|---|---|---|
| Línea 26: | Línea 26: | ||
| Existe una carpeta llamada **Config** donde está el archivo //machine.config// y este hereda sus valores al archivo //web.config// que está en la misma carpeta, este archivo hereda su configuración al archivo //web.config// que se encuentra en cada sitio, y el archivo //web.config// de cada sitio hereda su configuración al archivo //web.config// de cada aplicación web, por último, cada archivo //web.config// de cada aplicación puede heredar su configuración a los archivos //web.config// de cada carpeta en la aplicación. | Existe una carpeta llamada **Config** donde está el archivo //machine.config// y este hereda sus valores al archivo //web.config// que está en la misma carpeta, este archivo hereda su configuración al archivo //web.config// que se encuentra en cada sitio, y el archivo //web.config// de cada sitio hereda su configuración al archivo //web.config// de cada aplicación web, por último, cada archivo //web.config// de cada aplicación puede heredar su configuración a los archivos //web.config// de cada carpeta en la aplicación. | ||
| + | |||
| + | =====¿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> | ||
| + | |||