Cómo: Leer las cadenas de conexión en un archivo Web.config
Actualización: noviembre 2007
Este ejemplo lee una cadena de conexión de un archivo Web.config. El elemento connectionStrings es una colección ConnectionStringSettingsCollection de objetos ConnectionStringSettings. Trabajar con elementos de colección puede resultar un poco más complicado que trabajar con otros elementos de configuración.
Para actualizar una opción de configuración, utilice el método Save o SaveAs del objeto de configuración. Para obtener más información, vea Utilizar las clases Configuration. Para obtener ejemplos de código adicionales, vea la clase ConnectionStringsSection y las clases relacionadas.
Este ejemplo utiliza el método no estático de obtener datos de configuración, que permite extraer información de configuración de cualquier aplicación. Si va a obtener información de configuración de la aplicación en la que reside su código, utilice el método estático que procesa más rápidamente. Para obtener más información, vea la sección Trabajar con opciones de configuración locales y remotas en Información general sobre la API de configuración de ASP.NET.
Ejemplo
Dim rootWebConfig As System.Configuration.Configuration
rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")
Dim connString As System.Configuration.ConnectionStringSettings
If (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) Then
connString = rootWebConfig.ConnectionStrings.ConnectionStrings("NorthwindConnectionString")
If Not (Nothing = connString.ConnectionString) Then
Console.WriteLine("Northwind connection string = {0}", connString.ConnectionString)
Else
Console.WriteLine("No Northwind connection string")
End If
End If
System.Configuration.Configuration rootWebConfig =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
System.Configuration.ConnectionStringSettings connString;
if (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count)
{
connString =
rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
if (null != connString)
Console.WriteLine("Northwind connection string = \"{0}\"",
connString.ConnectionString);
else
Console.WriteLine("No Northwind connection string");
}
Compilar el código
Para este ejemplo se necesitan:
Un elemento connectionStrings en el archivo Web.config raíz que contiene una conexión denominada NorthwindConnectionString. El elemento podría tener el aspecto siguiente:
<connectionStrings> <add name="NorthwindConnectionString" connectionString="Data Source=serverName;Initial Catalog=Northwind;Persist Security Info=True;User ID=userName;Password=password" providerName="System.Data.SqlClient" /> </connectionStrings>
El elemento connectionStrings es un elemento secundario directo del elemento <configuration> y está al mismo nivel que el elemento system.web.
Nota de seguridad: Cuando se almacena información confidencial, como nombres de usuario y contraseñas, en un archivo de configuración, deben cifrarse los valores confidenciales usando una configuración protegida. Para obtener más información, vea Cómo: Proteger cadenas de conexión al utilizar controles de orígenes de datos.
Programación eficaz
Si la cadena de conexión especificada no existe en el archivo Web.config, no se devuelve ningún objeto. Al leer las cadenas de conexión, asegúrese de que el código haya devuelto un objeto.
Seguridad
Se recomienda proteger el archivo de configuración en el servidor utilizando opciones de seguridad de Windows para limitar el acceso para lectura. Se puede cifrar el elemento connectionString para protegerlo. Para obtener información detallada, vea Cifrar información de configuración mediante una configuración protegida.
Vea también
Referencia
Elemento connectionStrings (Esquema de configuración de ASP.NET)