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

时间:2011-11-29 18:59:17

标签: .net wcf dll

我有一组服务,其中一些将是Web服务,一些将存储在DLL中,依此类推。我想创建一个框架,如果他调用WS,DLL或其他东西,它对调用者是透明的。

问题是,如果我在我的DLL项目中添加Web引用,一旦我将其作为参考添加到其他项目(比如项目A)并启动它,将使用的配置文件将是项目A的应用程序。 config,没有关于WebService端点的信息等。 解决问题的一种简单方法是将配置部分复制到Project A的App.config,但透明度会中断。

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

这个问题看起来很尴尬,所以也许我搞错了......我呢?

1 个答案:

答案 0 :(得分:0)

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

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

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

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