Как мне прочитать пользовательский раздел в app.config из codebehind? - PullRequest
1 голос
/ 29 декабря 2011

У меня есть файл app.config, в котором хранятся значения в нескольких различных разделах. У меня есть эти фрагменты:

<configuration>
  <configSections>
    <sectionGroup name="someDataAccessLayer">
        <section name="databaseConnectionStrings" type="sometype" />
    </sectionGroup>
  </configSections>
  <someDataAccessLayer>
     <databaseConnectionStrings>
        <databaseConnectionString name="someSQL"           
             value="database=somedatabase;Integrated Security=False;User Id=sa;server=someserver;Password=somepassword/>
     </databaseConnectionStrings>
  </someDataAccessLayer>

Как мне прочитать строку подключения в коде позади? В частности, value, что

database=somedatabase;Integrated Security=False;User Id=sa;server=someserver;Password=somepassword

Спасибо за вашу помощь! Пожалуйста, дайте мне знать, если вопрос все еще неясен.

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

Ваш раздел конфигурации будет связан с некоторым классом .NET для его обработки:

  <configSections>
    <sectionGroup name="someDataAccessLayer">
       <section name="databaseConnectionStrings" type="sometype" />
    </sectionGroup>
  </configSections>

Итак, чтобы прочитать настройки из раздела <localeSettings>, вам нужно использовать ConfigurationManager (добавить ссылку на System.Configuration в ваш проект), чтобы получить эти настройки в экземпляре этого класса:

sometype cs = ConfigurationManager.GetSection("someDataAccessLayer/databaseConnectionStrings") as     sometype;

Теперь у вас есть объект типа sometype, который содержит все настройки в этом разделе конфигурации. Одним из этих свойств будет список строк подключения к базе данных, которые вы теперь можете перечислить, найти подходящее и прочитать его свойство .Value.

0 голосов
/ 29 декабря 2011

Настройки App.Config:

<configuration>
        <configSections>
        </configSections>
        <connectionStrings>
            <add name="MyApp.LocalConnectionString"
                connectionString="Data Source= .\SQLEXPRESS;Initial Catalog=DBName;Integrated Security = true"
                providerName="System.Data.SqlClient" />

Доступ к DataLayer с использованием ConfigurationManager как:

// add reference 
using  System.Configuration;
// then access connection string in your class
 private static string strConnectionString = ConfigurationManager.ConnectionStrings["MyApp.LocalConnectionString"].ConnectionString;  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...