Значения Web.config, переданные через уровни - PullRequest
1 голос
/ 15 мая 2009

У меня есть решение .NET 2008 с проектом, который выступает в качестве хоста службы WCF. В этом проекте есть файл web.config с настройками, которые будут заменены установщиком после завершения проекта. Эти настройки являются компонентами, которые составляют строку подключения и некоторые другие.

Этот проект WCF ссылается на проект Business Logic (библиотека классов, которая реализует код службы), который, в свою очередь, ссылается на проект DAL, который использует Entity Framework.

Я хотел бы знать, как я могу получить значения из файла web.config в проекте WCF в DAL? Без использования каких-либо относительных путей, которые я видел с OpenMappedExeConfiguration. Мне нужно создать строку подключения в DAL на основе настроек в файле web.config.

Спасибо за ваши ответы.

Ответы [ 2 ]

1 голос
/ 15 мая 2009

Я храню общие вещи, такие как строки подключения, в 1 папке, которая даже не находится в папке, где находится исходный код. На уровне DAL я просто использую ConfigurationManager, чтобы поднять его.

В проекте, который запускает приложение (в вашем случае это проект WCF), я добавляю файл «ConnectionStrings.config» из моей внешней папки «config» КАК ССЫЛКА (в Visual Studio нажмите «добавить существующий элемент» -> выберите элемент -> рядом с кнопкой «Добавить» находится стрелка, где находится этот параметр). Затем я просто устанавливаю его через свойства этого файла (щелкните файл в обозревателе решений -> нажмите F4) в качестве содержимого проекта, и его следует скопировать еще раз, если он был изменен для развертывания папки. Затем я добавляю новый файл app.config в проект, который включает в себя «ConnectionString.config».

Источник строки подключения.config:

<connectionStrings>
  <add name="MyConnectionString"
     connectionString="Data source=tralala"/>
</connectionStrings>

Источник app.config в проекте WCF:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings configSource="ConnectionStrings.config"></connectionStrings>
</configuration>

Я не уверен, что это лучший подход. Но пока все хорошо.

0 голосов
/ 15 мая 2009

К сожалению, ответ на ваш вопрос «скопировать и вставить». Это всегда было правдой.

Ближайшим исключением из этого правила являются "новые" файлы настроек .NET 2.0. Поскольку структура и значения по умолчанию для них являются частью сборки, определяющей компонент, компонент при запуске может заставить значения по умолчанию записываться в конфигурацию приложений. Я полагаю, можно было бы связать это с куском кода для работы с installutil, чтобы заставить выписывать значения по умолчанию до запуска содержащего приложения, оставляя значения по умолчанию в файле конфигурации для редактирования до первого использования приложения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...