【发布时间】:2011-06-30 01:49:39
【问题描述】:
我有一个使用插件系统的 Windows 服务。我在插件基类中使用以下代码为每个 DLL 提供单独的配置(因此它将从 plugin.dll.config 读取):
string dllPath = Assembly.GetCallingAssembly().Location;
return ConfigurationManager.OpenExeConfiguration(dllPath);
这些插件需要调用 WCF 服务,所以我遇到的问题是 new ChannelFactory<>("endPointName") 只在托管应用程序的 App.config 中查找端点配置。
有没有办法简单地告诉 ChannelFactory 查看另一个配置文件或以某种方式注入我的 Configuration 对象?
我能想到的解决此问题的唯一方法是根据从 plugin.dll.config 读取的值手动创建 EndPoint 和 Binding 对象,并将它们传递给 ChannelFactory<> 重载之一。不过,这看起来真的像是在重新创建轮子,并且它可能会因大量使用行为和绑定配置的端点而变得非常混乱。 也许有一种方法可以通过将配置部分传递给 EndPoint 和 Binding 对象来轻松创建它?
【问题讨论】:
标签: c# wcf wcf-configuration