2011-12-30 3 views
2

У меня есть приложение n-уровня. Компонент службы (бэкэнд) должен иметь файл конфигурации, а часть клиента должна иметь свой собственный файл конфигурации. Обычно клиент связывается с сервисом через WCF. Однако для некоторого тестирования я буду ссылаться на сборки сервиса в моем клиенте и обходить WCF. Это облегчает тестирование.ConfigurationManager.OpenExeConfiguration - Указание файла для открытия

Мой вопрос в том, что. Когда я запускаю своего клиента таким образом, app.config, который используется в моих сервисных сборках, является конфигурационным файлом клиента, а не его собственным конфигурационным файлом. Есть ли способ, с помощью которого ConfigurationManager может использовать конфигурационный файл конфигурации сборки вместо файла конфигурации клиента, когда я работаю таким образом?

+0

Вы видели этот вопрос? http://stackoverflow.com/questions/471042/wrong-app-config-being-loaded –

ответ

-1

Похоже, вам нужна более совершенная изоляция кода, если вы пытаетесь проверить что-то, обойдя WCF. Лучше всего создать библиотеку служб, не имеющую зависимостей WCF, и проверить ее. После того как вы удовлетворены тестированием библиотеки сервисов, раскройте библиотеку служб с помощью оболочки WCF. У вас должен быть код внутри контрактов операции WCF. Я стараюсь держать их отдельно для проверки, поскольку, похоже, ваша цель тоже.

Лучше всего добавить тестовый проект с ссылкой на проект в вашу библиотеку услуг и отдельный файл конфигурации.

0

Когда вы запускаете тестовую визуальную студию, она делает какую-то магию и загружает конфигурацию серверов. После добавления ссылок и запуска клиента выполняется обычное поведение загрузки exe-конфигурации в этом случае клиентов.

Смежные вопросы