【转】 一个C#中的webservice的初级例子(二)

通过前面的介绍,大概应该知道怎么写webservice,怎么调用,接下是讲怎么使用webservice提供的服务.下面是一段代码,比较简单:

private void button1_Click(object sender, System.EventArgs e)
  {
   
//localhost.Service1 a= new WindowsApplication1.localhost.Service1();
//   a.HelloWorld();
//   
//   d.Url = "";
//   d.GetSiteAData();
//   d.HelloWorld();
//
   string strSearch = "123";
   ServiceA.Service1 a 
= new ServiceA.Service1();
   ServiceB.Service1 b 
= new ServiceB.Service1();
   IAsyncResult ar1;
   IAsyncResult ar2;
   DataSet ds
=new DataSet();
   XmlNode xmlNode1,xmlNode2;
   XmlDataDocument xd
=new XmlDataDocument();
   StringBuilder xmlString1,xmlString2;
   
//--简单的异步调用
   ar1=a.BeginGetSiteAData(strSearch,null,null);
   ar2
=b.BeginGetSiteAData(strSearch,null,null);
   xmlNode1
=a.EndGetSiteAData(ar1);
   xmlNode2
=b.EndGetSiteAData(ar2);
   
//----------
   if(xmlNode1==null&&xmlNode2==null//--              
        return;
   xmlString1
=new StringBuilder(xmlNode1.OuterXml);
   xmlString2
=new StringBuilder(xmlNode2.OuterXml);
   xmlString1
=MakeNewXmlString(xmlString1,xmlString2);  //生成新的xml
   if(xmlString1.ToString().Equals(""))
    
return ;
   xd.LoadXml(xmlString1.ToString());
   ds.ReadXml(
new XmlNodeReader(xd));
   dataGrid1.DataSource
=ds.Tables[0]
  }
   
//生成新XML
  public StringBuilder MakeNewXmlString(StringBuilder str1,StringBuilder str2)
  {
   str1
=str1.Replace("","");
   str2
=str2.Replace("","");
   str1.Append(str2.ToString());
   
return str1;
  }

这段代码是在windows应用程序里运行的,如果是asp.net应用程序的话要改个地方:
dataGrid1.DataSource=ds.Tables[0];后面加上dataGrid1.DataBand();

原文地址:https://www.cnblogs.com/ManMonth/p/2176223.html