Элемент ‹connectionStrings›

Элемент ‹connectionStrings›

В рамках .NET 2.0 файлы конфигурации приложения могут определить новый элемент, названный ‹connectionStrings›. В контексте этого элемента вы можете определять любое число пар имен и значений, которые можно будет прочитать программными средствами, используя индексатор ConfigurationManager.ConnectionStrings. Главным преимуществом этого подхода (в отличие от использования элемента ‹appSettings› и индексатора ConfigurationManager.AppSettings) является то, что в этом случае вы можете определять множество строк соединений для одного приложении в единообразном стиле.

Для примера обновите свой файл арр.config так, как показано ниже (заметьте, что каждая строка соединения здесь задается атрибутами name и connection-String, a не key и value, как в случае ‹appSettings›).

‹configuration›

 ‹appSettings›

  ‹!-- Which provider? --›

  ‹add key= "provider" value="System.Data.SqlClient" /

 ‹/appSettings›

 ‹connectionStrings›

  ‹add name="SqlProviderPubs" connectionString="Data Source=localhost;uid=sa;pwd=;Initial Catalog=Pubs"/›

  ‹add name="OleDbProviderPubs" connectionString="Provider=SQLQLEDB.1;Data Source=localhost;uid=sa;pwd=;Initial Catalog=Pubs"/›

 ‹/connectionStrings›

‹/configuration›

Теперь обновите метод Main().

static void Main(string[] args) {

 Console.WriteLine("*** Источники поставщиков данных *** ");

 string dp = ConfigurationManager.AppSettings["provider"];

 string cnStr = ConfigurationManager.ConnectionStrings["SqlProviderPubs"].ConnectionString;

 …

}

На этой стадии нашего обсуждения вам уже должно быть ясно, как взаимодействовать с источником поставщика данных .NET 2.0 (и новым элементом ‹connectionStrings›).

Замечание. Теперь, когда вы понимаете роль источников поставщиков данных ADO.NET, в остальных примерах этой главы будут использоваться типы из System.Data.SqlClient и "жестко" закодированные строки соединений, чтобы сфокусировать ваше внимание на соответствующих более "узких" задачах обсуждения.

Исходный код. Проект DataProviderFactory размещен в подкаталоге, соответствующем главе 22.