如何:从 Web.config 文件读取连接字符串
更新:2007 年 11 月
此示例从 Web.config 文件读取连接字符串。connectionStrings 元素是 ConnectionStringSettings 对象的 ConnectionStringSettingsCollection 集合。使用集合元素可能会比使用其他配置元素稍微复杂一些。
若要更新配置设置,请使用配置对象的 Save 或 SaveAs 方法。有关更多信息,请参见 使用配置类。有关更多代码示例,请参见 ConnectionStringsSection 类和相关类。
此示例使用获取配置数据的非静态方法,这使得您可以从任何应用程序提取配置信息。如果您打算从代码所在的应用程序获取配置信息,请使用静态方法,这样处理速度会更快一些。有关更多信息,请参见 ASP.NET 配置 API 概述 中的“使用本地和远程配置设置”一节。
说明: |
---|
此示例适用于名为 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 元素的对等项。
安全说明: 当在配置文件中存储敏感信息(如用户名和密码)时,应使用受保护的配置对敏感值进行加密。有关更多信息,请参见如何:确保使用数据源控件时连接字符串的安全。
可靠编程
如果指定的连接字符串不在 Web.config 文件中,将不返回任何对象。在读取连接字符串时,请确保检查代码是否已经返回了一个对象。
安全性
应通过使用 Windows 安全设置限制可以读取配置文件的人士,在服务器上保护该配置文件。可以对 connectionString 元素进行加密以保护该元素。有关详细信息,请参见使用受保护的配置加密配置信息。