| Profil de GustavoGustavo BonanseaBlogListes | Aide |
|
16 septembre Agregar secciones de configuración personalizadas en el web.configLas aplicaciones en .Net cuentan con los conocidos archivos de configuración web.config y app.config, que nos sirven para definir parte del comportamiento de nuestras aplicaciones, como por ejemplo el tipo de autenticación de usuarios a utilizar, cómo manejar los errores (redireccionarlos a una página en especial), opciones de globalización, etc. (Para ver el esquema completo de configuración de Asp.Net: ASP.NET Settings Schema) Además de las secciones ya definidas podemos agregar opciones de configuración definidas por nosotros para guardar valores propios de la aplicación. La forma más común es utilizar la sección appSettings y agregarle un nodo add con un par nombre-valor. <appSettings> <add key="cnnString" value="Password=pwd;Persist Security Info=True;User ID=sa;Initial Catalog= DatabaseServer;Data Source= Database" /> </appSettings>
En el ejemplo anterior podemos ver que se agregó un nodo cnnString que tiene por valor la cadena de conexión con la base de datos. De esta forma con el siguiente código podermos obtener el valor y utilizarlo dentro de nuestro programa, con la posibilidad de que se modifique sin necesidad de recompilar:
Dim cnnString As String 'obtengo la cadena de conexion cnnString = ConfigurationSettings.AppSettings("cnnString")
Y así podemos agregar todos los elementos add que creamos necesarios. Pero que pasa si necesitamos generar configuraciones más avanzadas. Por ejemplo, supongamos que deseamos configurar un componente de logging y deseamos que toda la configuración del mismo se encuentre contenida en una sola sección y no mezclada con las demás configuraciones del appSettings. Para ellos debemos crear una sección personalizada dentro del web.config:
<configuration> <configSections> <section name="logging" type="System.Configuration.NameValueSectionHandler,System,Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"></section> </configSections> ........ Demás nodos </configuration>
En el código anterior definimos una sección personalizada denominada logging que es del tipo System.Configuration.NameValueSectionHandler. Nos sirve para manejar secciones como la appSettings del tipo nombre-valor. Los posibles tipos de handlers para las secciones son los siguientes:
Luego en el archivo web.config detallamos la sección definida anteriormente:
<logging> <add key="LogColumnSize" value="20" /> <!-- Services --> <add key="webService" value="true" /> <add key="sitePages" value="true" /> <add key="Exceptions" value="false" /> <add key="webServiceExceptions" value="true" /> </logging>
Para obtener los valores de la nueva sección utilizaremos el siguiente código:
'declaro una variable que va a manejar la seccion de configuracion Dim ServiceLoggingConfig As NameValueCollection Dim value As String
'obtengo el handler para la seccion de configuracion ServiceLoggingConfig = ConfigurationSettings.GetConfig("logging") 'obtengo el valor guardado en la clave ‘webService’ de la seccion ‘logging’ value = ServiceLoggingConfig("webService")
De esta forma podemos administrar todas las secciones que necesitemos de una forma simple y utilizando todos los servicios de configuración que vienen incorporados en el framework. Commentaires (2)Pour ajouter un commentaire, connectez-vous avec votre identifiant Windows Live ID (si vous utilisez Messenger ou Xbox LIVE, vous avez un identifiant Windows Live ID). Connectez-vous Vous n'avez pas d'identifiant Windows Live ID ? Inscrivez-vous
RétroliensL'URL de rétrolien de ce billet est : http://misopiniones.spaces.live.com/blog/cns!2737DC89A4AAB26B!393.trak Blogs Web qui font référence à ce billet
|
|
|