Практическое руководство. Чтение строк соединения из файла Web.config
Обновлен: Ноябрь 2007
В этом примере осуществляется считывание строку соединения из файла Web.config. Элемент connectionStrings — это коллекция ConnectionStringSettingsCollection объектов ConnectionStringSettings. Работа с элементами коллекции может быть несколько сложнее работы с другими элементами конфигурации.
Чтобы обновить параметр конфигурации, используйте метод Save или SaveAs объекта конфигурации. Дополнительные сведения см. в разделе Использование классов конфигурации. Дополнительные примеры кода см. в разделах, посвященных классу ConnectionStringsSection и связанным с ним классам.
В этом примере используется нестатический метод получения данных конфигурации, что позволяет получить информацию о конфигурации из любого приложения. Если нужно получить информацию о конфигурации из приложения, к которому принадлежит код, следует использовать статический метод, который действует быстрее. Дополнительные сведения см. в подразделе «Работа с локальными и удаленными параметрами конфигурации» в разделе Общие сведения о конфигурационном API ASP.NET.
Примечание. |
---|
Данный пример обращается к веб-узлу с именем 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");
}
Компиляция кода
Для этого примера необходимо следующее:
Элемент connectionStrings в корне файла Web.config, содержащий соединение с названием 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.
Примечание о безопасности. При сохранении конфиденциальных сведений, таких как имена пользователей и пароли, в файле конфигурации следует шифровать важные значения, используя защищенную конфигурацию. Дополнительные сведения см. в разделе How to: Secure Connection Strings When Using Data Source Controls.
Отказоустойчивость
Если указанной строки соединения нет в файле Web.config, объект не будет возвращен. При чтении строк соединения убедитесь, что код возвращает объект.
Безопасность
Файл конфигурации должен быть защищен на сервере с помощью параметров безопасности Windows для ограничения доступа на его чтение. Элемент connectionString может быть зашифрован в целях обеспечения его безопасности. Дополнительные сведения см. в разделе Шифрование сведений о конфигурации с помощью функции защищенной конфигурации.