如何:从 Web.config 文件读取连接字符串

更新:2007 年 11 月

此示例从 Web.config 文件读取连接字符串。connectionStrings 元素是 ConnectionStringSettings 对象的 ConnectionStringSettingsCollection 集合。使用集合元素可能会比使用其他配置元素稍微复杂一些。

若要更新配置设置,请使用配置对象的 SaveSaveAs 方法。有关更多信息,请参见 使用配置类。有关更多代码示例,请参见 ConnectionStringsSection 类和相关类。

此示例使用获取配置数据的非静态方法,这使得您可以从任何应用程序提取配置信息。如果您打算从代码所在的应用程序获取配置信息,请使用静态方法,这样处理速度会更快一些。有关更多信息,请参见 ASP.NET 配置 API 概述 中的“使用本地和远程配置设置”一节。

ms178411.alert_note(zh-cn,VS.90).gif说明:

此示例适用于名为 MyWebSiteRoot 的网站。您必须在具有此名称的网站中运行该示例;或将提供给 OpenWebConfiguration 方法的字符串替换为您网站的名称,之后即可运行该示例。

示例

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");
            }

编译代码

此示例需要:

  • 根 Web.config 文件中的 connectionStrings 元素,其中包含名为 NorthwindConnectionString 的连接。该元素可能如下所示:

    <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>
    

    connectionStrings 元素是 <configuration> 元素的直接子级,并且是 system.web 元素的对等项。

    ms178411.alert_security(zh-cn,VS.90).gif安全说明:

    当在配置文件中存储敏感信息(如用户名和密码)时,应使用受保护的配置对敏感值进行加密。有关更多信息,请参见如何:确保使用数据源控件时连接字符串的安全

可靠编程

如果指定的连接字符串不在 Web.config 文件中,将不返回任何对象。在读取连接字符串时,请确保检查代码是否已经返回了一个对象。

安全性

应通过使用 Windows 安全设置限制可以读取配置文件的人士,在服务器上保护该配置文件。可以对 connectionString 元素进行加密以保护该元素。有关详细信息,请参见使用受保护的配置加密配置信息

请参见

参考

connectionStrings 元素(ASP.NET 设置架构)

ConfigurationSettings