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

本文介绍了一种在Windows应用程序中使用异步方式调用WebService的方法,并展示了如何将从不同服务获取的数据整合到单一数据集的过程。文章还提供了一个具体的代码示例,解释了如何处理返回的XML数据并将其显示在数据网格中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

通过前面的介绍,大概应该知道怎么写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();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值