我有一组服务,其中一些将是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。获取更多信息)