有经验的朋友都知道,通常我们在引用webservice的时候,是在项目中就添加了引用,但是如果一但这个webservice有变动,怎么办?重新打开项目重新引用,重新编译?这是不是太麻烦了,如果对方升级频繁,那我要改项目要改死。怎么解决这样的问题呢?
今天我们就来讲一下动态的引用webservice
为此我们需要在web.config中动态配置WebService的地址
首先手动的添加一个Web引用(这个就不用说了吧)
然后修改本地的代理类(添加一个新类,继承你的 WebService代理类)
- namespace Web_Service
- {
- [System.Diagnostics.DebuggerStepThrough(),System.ComponentModel.DesignerCategory("code"),
- System.Web.Services.WebServiceBinding(Name = "", Namespace = "")]
- public class DynWebService : SelfWebService
- {
- public DynWebService() : base()
- {
-
- //设置默认webService的地址
- this.Url = "http://localhost/WebService.asmx";
- }
- public DynWebService(string webUrl) : base()
- {
- this.Url = webUrl;
- }
- }
- }
说明:SelfWebService 你引用的 WebService。Web Service的URI部署到配置文件里
<add key="WebServiceKey"value="http://www.mhzg.net/WebService.asmx"/>
最后实现
- private void WebServiceTest()
- {
- string webServiceUrl = ConfigurationManager.AppSettings["WebServiceKey "].ToString();
- Web_Service.DynWebService dws = new Web_Service.DynWebService(webServiceUrl);
- string result = dws.HelloWorld();
- }
本文介绍了一种在.NET中动态调用WebService的方法,通过在Web.config中配置WebService地址,实现WebService更新时无需重新编译项目。文章详细展示了如何创建动态代理类,并在代码中实例化并调用WebService。
1568

被折叠的 条评论
为什么被折叠?



