Web服务 终点为 http://api.domain_a.com/ 使用 我可以很容易地生成一个代理类来使用这个服务。
http://api.domain_a.com/
但是我想创造一种用户可以使用他们自己的服务(访问他们自己的数据,而不是我自己的数据)的方法,我想知道是否有一种方法可以 服务的基URL 在飞行中 .
作为一个例子
我通过向项目添加Web引用来生成代理类,但是现在,每个请求 我将获得用户设置(包含他们的URL), 我怎么能 (如果可能的话) 我正在使用域生成的代理 http://domain_b.com/api 而不是我在添加Web引用时使用的原始文件?
http://domain_b.com/api
如果您使用的是.NET2.0,那么每个代理类都应该有一个URL属性。只需更新URL属性,代理将指向新服务。
如果你使用WCF,事情会变得更复杂一些,但不会太复杂。您只需更改端点地址:
var service = new ServiceClient(); string url = "http://domain_b.com/api"; EndpointAddress newAddress = new EndpointAddress(url); service.Endpoint.Address = newAddress;