Конфигурация WCF ChannelFactory вне App.config?

У меня есть служба Windows, которая использует систему плагинов. Я использую следующий код в базовом классе подключаемого модуля, чтобы предоставить отдельную конфигурацию для каждой DLL (поэтому он будет читать из plugin.dll.config ):

string dllPath = Assembly.GetCallingAssembly().Location;
return ConfigurationManager.OpenExeConfiguration(dllPath);

Эти подключаемые модули должны выполнять вызовы WCF Services, поэтому проблема, с которой я сталкиваюсь, заключается в том, что new ChannelFactory <> ("endPointName") просматривает конфигурацию конечной точки только в App.config размещенного приложения.

Есть ли способ просто указать ChannelFactory, что нужно искать в другом файле конфигурации или как-то внедрить мой объект Configuration ?

Единственный способ, который я могу придумать, - это вручную создать объект EndPoint и Binding из значений, считанных из plugin.dll. config и передать их одной из перегрузок ChannelFactory <> . Это действительно похоже на воссоздание колеса, и это может стать действительно беспорядочным с конечной точкой, которая интенсивно использует конфигурации поведения и привязки. Может быть, есть способ легко создавать объекты EndPoint и Binding, передав им раздел конфигурации?

5
задан Langdon 18 February 2011 в 20:13
поделиться