ASP.NET动态引用WebService接口

尊重原著作:本文转载自http://www.mhzg.net/a/20124/20124912180589.html

  有经验的朋友都知道,通常我们在引用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;
        }
    }
}
View Code

说明: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();
}
View Code
原文地址:https://www.cnblogs.com/hlxt548826/p/3700858.html