代码之家  ›  专栏  ›  技术社区  ›  balexandre

重新使用WebService,但使用自定义终结点

  •  0
  • balexandre  · 技术社区  · 14 年前

    Web服务 终点为 http://api.domain_a.com/ 使用 我可以很容易地生成一个代理类来使用这个服务。

    alt text

    但是我想创造一种用户可以使用他们自己的服务(访问他们自己的数据,而不是我自己的数据)的方法,我想知道是否有一种方法可以 服务的基URL 在飞行中 .

    作为一个例子

    我通过向项目添加Web引用来生成代理类,但是现在,每个请求 我将获得用户设置(包含他们的URL), 我怎么能 (如果可能的话) 我正在使用域生成的代理 http://domain_b.com/api 而不是我在添加Web引用时使用的原始文件?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Justin Niessner    14 年前

    如果您使用的是.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;