如何动态设置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保存在配置文件中,不必硬编码。
在客户程序中通过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保存在配置文件中,不必硬编码。
相关文章推荐
- 动态设置 web service 引用的地址
- 地址(URL)中包含关键词对排名的影响,如何在url设置关键词
- asp.net如何调用webservice,如何动态设置webservice引用地址
- 关于动态URL地址设置静态形式
- 关于pjax 如何设置不缓存加载页面里面的js文件和不修改浏览器中的URL地址
- We7如何设置伪静态URL地址
- [Gallery]PhotoPage如何全屏显示图片(如何动态设置虚拟按键?)
- 在一个div内,动态添加一段文字,如何设置为不管内容多少都以 上下垂直居中 的形式展现?
- [K/3Cloud] 如何代码中动态设置当前活动页签
- HttpURLConnection中如何设置网络超时
- win8.1动态壁纸如何设置?window8.1系统动态壁纸设置方法
- 秒杀系统中如何动态生成下单随机URL
- 解决vue中无法动态修改jqgrid组件 url地址
- 如何用js获取地址栏的URL的域名
- 如何编程动态改变IE的代理服务器设置, 并且使之马上生效!
- Objective-C如何避免动态绑定,而获得方法地址(函数指针)
- Fedora Linux如何设置网卡自动获取网络地址
- 默认地址未设置如何重新设置
- 如何动态设置ImageView的宽高以及位置