从DLL调用WS时,我可以在哪里存储端点配置?



我有一组服务,其中一些将是Web服务,一些将存储在dll中,等等。我想创建一个框架,所以它是透明的调用者,如果他正在调用一个WS, DLL或其他东西。

问题是,如果我在我的DLL项目中添加Web引用,一旦我将其添加为其他项目(例如项目a)的引用并启动它,将使用的配置文件将是项目a的App.config,其中没有关于WebService端点等的信息。解决这个问题的一个简单方法是将配置部分复制到项目A的App.config中,但这样就会破坏透明度。

还有其他容易储存的方法吗?我也可以通过编程方式创建端点,但我必须将所有信息存储在App.config信息中,因此,在一天结束时,它将与复制配置部分....

相同。

这个问题看起来很尴尬,所以也许我把一切都错了....我是吗?

让你知道我是如何解决这个问题的:

可以实例化代理类,只传递绑定和EndpointAddress,这就是我所做的:

client = new ContractClient(new NetMsmqBinding(NetMsmqSecurityMode.None), new EndpointAddress(new Uri(config.WebServiceAddress.Value)) );

其中config是读取App.config的对象。(ConfigurationManager。获取更多信息)

最新更新