Compartir a través de


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)

ConfigurationSettings Class