0

我正在使用一个具有端点的Web 服务http://api.domain_a.com/,并且使用Visual Studio我可以轻松地生成一个代理类来轻松简单地使用该服务。

替代文字

但是我想创建一种用户可以使用他们自己的服务(并访问他们自己的数据,而不是我自己的数据)的方式,并且我想知道是否有一种方法可以即时更改服务的基本 URL .

举个例子

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

我需要手动调用服务吗?发送和接收 XML 数据?或者有一个“开关”可以用来指向新的 URL?

4

1 回答 1

1

如果您使用的是 .NET 2.0,则这些代理类中的每一个都应该有一个 URL 属性。只需更新 URL 属性,代理就会指向新服务。

如果您使用的是 WCF,那么事情会变得更复杂一些,但不会复杂很多。您只需更改端点地址:

var service = new ServiceClient();
string url = "http://domain_b.com/api";
EndpointAddress newAddress = new EndpointAddress(url);
service.Endpoint.Address = newAddress;
于 2010-11-01T13:16:48.747 回答