У меня есть .DLL, который вызывает вызовы для службы WCF. DLL загружается отдельной программой, которая вызывает вызовы методов для DLL, и DLL решает, использовать ли WCF флаг, который передается в сигнатурах метода. Это нормально работает, когда у меня есть информация привязки WCF в приложении, но я не хочу, чтобы она привязывала информацию привязки WCF в приложении. Я попытался следующие в моей .DLL, чтобы получить информацию о связывании в WCF из app.config в DLL, но каждый раз, когда я пытаюсь это, я получаю следующее сообщение об ошибке:Загрузка app.config для .DLL Чтобы получить настройки WCF
Could not find endpoint element with name 'Service' and contract 'Service.IService' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this name could be found in the client element.
Вот код, я использую для попытаться получить WCF обязательные/настройки из app.config в библиотеки DLL:
private static readonly Configuration Config = LoadWCFConfiguration();
public void CreateOpsConnection (AccountingOpConnectionDTO opsConnectionDTOFromCaller, bool UseWCFValue)
{
opsConnectionDTO = opsConnectionDTOFromCaller;
UseWCF = UseWCFValue;
if (UseWCF == true)
{
ConfigurationChannelFactory<AccountingOpsServiceReference.IAccountingOperationsService> accountingOpsChannelFactory = new ConfigurationChannelFactory<AccountingOpsServiceReference.IAccountingOperationsService>
("AccountingOperationsService", Config, null);
WCFClient = accountingOpsChannelFactory.CreateChannel();
//WCFClient = new AccountingOpsServiceReference.AccountingOperationsServiceClient();
WCFClient.CreateConnection(opsConnectionDTO);
Вы не можете этого сделать - система .NET config построена на предположении, что только ** основная программа ** (консольное приложение, программа Winforms, веб-сайт) имеет файл конфигурации, который считывается. Не сражайся с ним - прими его и иди с потоком! –