动态添加对Web Service的引用

 准备给博客园增加向其他基于.Text的博客网站发表文章的功能,  想通过调用.Text的Web Service来实现(也可以通过metablogapi实现)。这就需要动态添加对Web Service的引用,在codeproject找到一篇简单解决这个问题的文章,我简单描述一下实现方法:
 我们在VS.NET中静态添加Web Service引用时,会生成一个Web References方件夹, 显示这个文件夹中的所有文件,我们会发现Reference.cs文件,打开这个文件,里面定义了一个从System.Web.Services.Protocols.SoapHttpClientProtocol继承的类,在它的构造函数中,有这样的初始化语句:
this.Url = "http://localhost/Services/SimpleBlogService.asmx";
我们只要增加一个带有参数的构造函数,参数就是我们要引用的Web Service的url, 就可以实现动态添加对Web Service的引用。示例代码如下:
public class SBSSimpleBlogService : System.Web.Services.Protocols.SoapHttpClientProtocol
{
        /// <remarks/>
         public SBSSimpleBlogService()
        {
           
this.Url = "http://localhost/Services/SimpleBlogService.asmx";
        }

         public SBSSimpleBlogService(string url)
       
{
        
  this.Url = url;
        }
}

参考文章: http://www.codeproject.com/cs/webservices/CallXMLWebServices.asp

posted @ 2004-03-14 11:07  dudu  阅读(13375)  评论(19编辑  收藏  举报