Практическое руководство. Чтение строк соединения из файла Web.config

Обновлен: Ноябрь 2007

В этом примере осуществляется считывание строку соединения из файла Web.config. Элемент connectionStrings — это коллекция ConnectionStringSettingsCollection объектов ConnectionStringSettings. Работа с элементами коллекции может быть несколько сложнее работы с другими элементами конфигурации.

Чтобы обновить параметр конфигурации, используйте метод Save или SaveAs объекта конфигурации. Дополнительные сведения см. в разделе Использование классов конфигурации. Дополнительные примеры кода см. в разделах, посвященных классу ConnectionStringsSection и связанным с ним классам.

В этом примере используется нестатический метод получения данных конфигурации, что позволяет получить информацию о конфигурации из любого приложения. Если нужно получить информацию о конфигурации из приложения, к которому принадлежит код, следует использовать статический метод, который действует быстрее. Дополнительные сведения см. в подразделе «Работа с локальными и удаленными параметрами конфигурации» в разделе Общие сведения о конфигурационном API ASP.NET.

ms178411.alert_note(ru-ru,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");
            }

Компиляция кода

Для этого примера необходимо следующее:

  • Элемент 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.

    ms178411.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

    При сохранении конфиденциальных сведений, таких как имена пользователей и пароли, в файле конфигурации следует шифровать важные значения, используя защищенную конфигурацию. Дополнительные сведения см. в разделе How to: Secure Connection Strings When Using Data Source Controls.

Отказоустойчивость

Если указанной строки соединения нет в файле Web.config, объект не будет возвращен. При чтении строк соединения убедитесь, что код возвращает объект.

Безопасность

Файл конфигурации должен быть защищен на сервере с помощью параметров безопасности Windows для ограничения доступа на его чтение. Элемент connectionString может быть зашифрован в целях обеспечения его безопасности. Дополнительные сведения см. в разделе Шифрование сведений о конфигурации с помощью функции защищенной конфигурации.

См. также

Ссылки

Элемент connectionStrings (схема параметров ASP.NET)

ConfigurationSettings