小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

xml webservice完全實(shí)例解析(四)

 duduwolf 2005-07-11

    最近時間太少了,馬上要走了,這篇文章就算是結(jié)尾吧,可能說明會少些,代碼多些.

     接上篇文章,我們先簡單說明下綁定函數(shù).首先實(shí)例化ServiceA,這個和一般類的實(shí)例化并沒有不同..接下來用xmlNode1來接受函數(shù)的返回值,接下來是構(gòu)造xml,并將其轉(zhuǎn)化為dataset,這是通用的方法,如果是剛接觸不久的朋友,最好能記下這種方法.

      接下來給出異步調(diào)用兩個服務(wù)的代碼

//綁定數(shù)據(jù)
  public void BindData()
  {
   IAsyncResult ar1;
   IAsyncResult ar2;
   serviceA=new SiteA.Service1();
   serviceB=new SiteB.Service1();
   DataSet ds=new DataSet();
   XmlNode xmlNode1,xmlNode2;
   XmlDataDocument xd=new XmlDataDocument();
   StringBuilder xmlString1,xmlString2;
   //--簡單的異步調(diào)用
   ar1=serviceA.BeginGetSiteAData(strSearch,null,null);
   ar2=serviceB.BeginGetSiteAData(strSearch,null,null);
   xmlNode1=serviceA.EndGetSiteAData(ar1);
   xmlNode2=serviceB.EndGetSiteAData(ar2);
   //----------
   if(xmlNode1==null&&xmlNode2==null) //--存儲過程執(zhí)行失敗
    return;

   xmlString1=new StringBuilder(xmlNode1.OuterXml);
   xmlString2=new StringBuilder(xmlNode2.OuterXml);
   xmlString1=MakeNewXmlString(xmlString1,xmlString2);  //生成新的xml
   if(xmlString1.ToString().Equals("<NewDataSet xmlns=\"\"></NewDataSet>"))
    return ;
   xd.LoadXml(xmlString1.ToString());
   ds.ReadXml(new XmlNodeReader(xd));
   DataGrid1.DataSource=ds.Tables["list"].DefaultView;
   DataGrid1.DataBind();
  }

  //生成新XML
  public StringBuilder MakeNewXmlString(StringBuilder str1,StringBuilder str2)
  {
   str1=str1.Replace("</NewDataSet>","");
   str2=str2.Replace("<NewDataSet xmlns=\"\">","");
   str1.Append(str2.ToString());
   return str1;
  }

    這有兩個需要注意的地方,一個是xml構(gòu)造,還有就是異步調(diào)用的實(shí)現(xiàn),請讀者,自己理解

    下面講下通過dll來引用webservice的方法,我只把流程介紹下.

    首先,在ie輸入服務(wù)的地址,如:http://www./service.asmx

   然后寫輸入http://www./service.asmx?wsdl

   打開后,另存為xxx.wsdl

   然后用vs的命令提示符來編譯:wsdl /namespace:SiteA ServiceA.wsdl

  生成名字空間為sitea的代理類

  最后csc /out:ServiceA.dll /t:library Service1.cs ,其中service1.cs為代理類文件

 最后引用dll就可以了.

  到這里,我們的例子基本也就介紹完了,由于個人的原因,最后一篇可能寫的比較倉促,非常慚愧.

  不知道寫這么多,對學(xué)習(xí)中的朋友會不會有幫助,里面的東西,很多也算是個人理解,如果出錯,還請各位海涵:)

  以后可能上網(wǎng)的時間會很少,要考研了,如果你有什么需要幫助的或是疑惑的地方,可以wiseman.net@gmail.com聯(lián)系我,如果上網(wǎng)的話,一定會回的.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多