Как сохранить строку подключения только на уровне доступа к данным (библиотека классов .NET) - PullRequest
1 голос
/ 12 апреля 2010

Я получил решение, которое включает в себя 3 различных проекта, библиотеку классов, веб-службу и службу Windows.

MySolution.DataAccessLayer (библиотека классов)

Использование Entity-Framework 3.5 для доступа к базе данных.

MySolution.WebService (веб-служба)

MySolution.WindowsService (служба Windows)

Моя проблема заключается в том, что мне нужно включить строку подключения в мои файлы конфигурации веб-службы / службы Windows, чтобы она заработала.

Я проверил и у меня есть правильная строка подключения в моем DataAccessLayer App.Config.

Почему он не использует это?

Ответы [ 2 ]

4 голосов
/ 12 апреля 2010

Он не запустится, потому что DLL загружена в пространство процесса. Это означает, что службы загружают DLL, и используется конфигурация службы.

Другими словами - служба запускается, загружает файл конфигурации (который ему принадлежит), затем загружает DLL-файл dataaccess. Поскольку у него уже есть собственный конфиг, он не будет искать дальше конфиг DLL.

0 голосов
/ 12 апреля 2010

Система конфигурации ищет app / web.config для приложения, которое работает, независимо от того, где в коде вы просматриваете конфигурацию.

Библиотека классов не заботится о том, что это библиотека классов / отдельная .dll, когда она работает, и просто ищет конфигурацию в app.config для программы, которая работает - которая будет конфигурацией для вашей службы Windows в один случай и конфигурация для вашего веб-сервиса в другом.

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