Где я должен поместить строки подключения для моей библиотеки классов и как получить к ним доступ? - PullRequest
7 голосов
/ 22 февраля 2012

У меня есть решение с 4/5 проектами.

В настоящее время у меня есть строка подключения для моего проекта домена, жестко запрограммированная в файле c #.

Я бы хотел поместить это в web.config или что-то в этом роде. Из того, что я читал здесь и в других местах, я должен хранить эти строки подключения в веб-конфигурации вызывающего приложения?

Если да, то как мне получить к нему доступ?

Когда я делаю что-то подобное в моей библиотеке классов:

ConnectionStringSettingsCollection connectionStrings =
    connectionStringsSection.ConnectionStrings;

Не удалось найти тип или пространство имен, я пропустил ссылку или что-то в этом роде?

Ответы [ 4 ]

5 голосов
/ 22 февраля 2012

Вам нужно добавить ссылку на System.Configuration в вашем основном проекте.

, тогда вы можете получить доступ к строке подключения, как это ...

System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;//<- last bit for a string version of the full connection string

ConfigurationManager также позволит вам получить доступ к ряду других полезных свойств из вашего файла web.config (это также будет работать для файлов app.config)

4 голосов
/ 22 февраля 2012

В схеме config существует существующая схема для строк подключения.

Это относится к элементу <configuration>:

<connectionStrings>
  <add name="example" connectionString="..."/>
</connectionStrings>

В вашем коде вы должны использовать ConfigurationManager для доступа к ним. Чтобы иметь ссылку на него, вам нужно добавить пространство имен using System.Configuration; в ваш файл и ссылку на сборку System.Configuration.dll для вашего проекта (если его там еще нет).

string conn = ConfigurationManager.ConnectionStrings["example"];
3 голосов
/ 22 февраля 2012

Определить с помощью основного приложения и получить доступ к классу lib

ConnectionStrings: Добавить с помощью System.Configuration;добавить ссылку: System.Configuration;

ConfigurationManager.ConnectionStrings["key"]

попеременно

System.Configuration.ConfigurationSettings.AppSettings["key"])
0 голосов
/ 22 февраля 2012

используйте это внутри вашего кода.

String sqlDbConn = 
        ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();

имя также должно быть определено в вашей веб-конфигурации;

<connectionStrings>
 <add name="ApplicationServices"
       connectionString="You database information"
      />

 </connectionStrings>

, а также добавить с помощью System.Configuration; Пространство имен

...