您的位置:首页 > 其它

如何动态设置Web Service的URL地址

2010-06-08 22:21 330 查看
开发环境: VS2005(C#)

在客户程序中通过VS引用Web Service时,必须指定Web Service的URL地址。有时,相同的Web Service部署在多个服务器上,以防其中某些服务器出现故障导致Web Service不可用。 这样就要在代码中动态设置Web Service的URL地址,如何实现呢?

经过研究VS 的Add Web Reference…操作所生成的Web Serviceo类(myService
)的.cs文件(呵呵,有点拗口
), 发现其中的构造函数有玄机。

public partial class myService
: System.Web.Services.Protocols.SoapHttpClientProtocol

{

……

public myService
()

{

this.Url
= "http://192.168.1.88/ASPtest/service.asmx"; //本人所引用Web Service地址

}

……

}

在MSDN中查了下SoapHttpClientProtocol
类,其有属性Url
:Gets or sets the base URL of the XML Web service the client is requesting. 意即用来设置或获取客户调用的Web Service地址。

OK,发现了这个玄机,我们就可以用来动态设置

myService
service = new myService
();

service.Url
= “http://192.168.1.22/ASPtest/service.asmx

”; //改变Web Service地址

当然你可以把URL保存在配置文件中,不必硬编码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: