<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<sources>
<!-- En esta sección se define la configuración del registro para My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Quite los comentarios de la sección posterior para escribir en el registro de eventos de la aplicación -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Quite los comentarios de la sección posterior y reemplace APPLICATION_NAME con el nombre de su aplicación para escribir en el registro de sucesos de la aplicación -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>
Ese esquema es el básico que se genera automáticamente al agregar el archivo a nuestro proyecto.
Para agregar el app.config a nuestro proyecto, tenemos que hacer click con el botón de la derecha sobre el nombre de nuestro proyecto, agregar, nuevo elemento. Y tenemos que seleccionar "Archivo de configuración de aplicaciones"
Automáticamente, veremos el archivo en el explorador de soluciones
Ahora hacemos doble click sobre el mismo, y agregaremos las entradas como se muestra en el código de ejemplo en NEGRITA:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--Entrada correspondiente a la cadena de conexión-->
<connectionStrings>
<add name="miConexion" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\BaseAlumnos.mdb;Persist Security Info=False"/>
</connectionStrings>
<!--Entrada correspndiente a las configuraciones de la aplicación-->
<appSettings>
<add key="VERSION" value="1.0"/>
<add key="ANCHO" value="800"/>
<add key="ALTO" value="600"/>
</appSettings>
<system.diagnostics>
<sources>
<!-- En esta sección se define la configuración del registro para My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Quite los comentarios de la sección posterior para escribir en el registro de eventos de la aplicación -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Quite los comentarios de la sección posterior y reemplace APPLICATION_NAME con el nombre de su aplicación para escribir en el registro de sucesos de la aplicación -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>
A continución explicaremos las entradas básicas del app.config:
Entonces, las dos entradas que analizamos, son appSettings y connectionStrings, en la entrada de connectionString, podremos configurar únicamente valores relativos a nuestra cadena de conexión, como muestra el ejemplo:
<connectionStrings>
<add name="miConexion" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\BaseAlumnos.mdb;Persist Security Info=False"/>
</connectionStrings>
En donde el atributo name corresponde a un nombre único con el que identificaremos la entrada, luego en el atributo connectionString especificaremos en sí la cadena de conexión.
Luego tenemos la entrada appSettings, cuyo propósito es general y podremos almacenar lo que querramos, en el ejemplo, agregaremos entradas para: identificar la versión del sistema, el ancho predeterminado de la pantalla y el alto predeterminado de la pantalla:
<appSettings>
<add key="VERSION" value="1.0"/>
<add key="ANCHO" value="800"/>
<add key="ALTO" value="600"/>
</appSettings>
En donde el atributo key corresponde a un nombre único con el que identificaremos la entrada, luego en el atributo value especificaremos el valor en sí del dato.
Como recuperar valores de connectionStrings y appSettings
Para recuperar valores del connectionStrings y appSettings, utilizaremos una clase llamada: Configurationmanager, la misma no está referenciada por defecto en nuestra aplicación, por lo que deberemos crear la referencia manualmente, para ello nos dirigimos al explorador de soluciones, hacemos clik con el botón de la derecha sobre el proyecto y seleccionamos "agregar referencia" desde el menú contextual tal como muestra la siguiente imagen:
Luego se nos desplegará un cuadro de diálogo para que seleccionemos la referencia que deseamos agregar, en este caso es:
System.Configuration.
Una vez que tenemos agregada la referencia a esta biblioteca, importaremos el espacio de nombres al inicio del código del formulario:
Option Explicit On
Option Strict On
Imports System.Configuration
…..
A partir de ello ya podremos leer las entradas, por ejemplo en el evento onLoad del formulario, podríamos mostrar la cadena de conexión en un mensaje
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MsgBox(ConfigurationManager.ConnectionStrings("miConexion").ToString)
End Sub
Para leer el appsettings se procede de manera similar, solamente que en lugar de utilizar el método connectionStrings, utilizaremos appSettings, tal como se muestra en el siguiente ejemplo:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MsgBox(ConfigurationManager.ConnectionStrings("miConexion").ToString)
MsgBox("La versión del sistema es: " & ConfigurationManager.AppSettings("VERSION").ToString())
End Sub
No hay comentarios:
Publicar un comentario