日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳細(xì)介紹VS2003WebService的相關(guān)介紹與注意事宜

假若我們是服務(wù)端,我們寫好了個VS2003 WebService,然后把它給了客戶,客戶就可以在從VS2003 WebService獲取信息時處于一個相對透明的狀態(tài).即是客戶不了解(也不需要)其過程,他們只獲取數(shù)據(jù)。

創(chuàng)新互聯(lián)建站長期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為驛城企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站設(shè)計,驛城網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

這是獲取資源站點信息的一個接口函數(shù).里面大部分的代碼,我想對于有一定asp.net基礎(chǔ)的朋友來說,都應(yīng)該是一看就明白,這里只說明下CStoreProc,這是我封裝的一個存儲過程類,主要功能是執(zhí)行各種類型的存儲過程.

細(xì)心的朋友可能會發(fā)現(xiàn)這個函數(shù)的返回類型似乎比較特殊,是個xml的文檔.我們在前面已經(jīng)說過,webservice只能傳輸序列化數(shù)據(jù),xml顯然滿足 條件,但比如hash表之類的非序列化數(shù)據(jù),是不能傳輸?shù)?xml使用最為廣泛,而且考慮到跨平臺應(yīng)用,所以這里我們只以xml數(shù)據(jù)的傳輸來示例.

接上篇文章,我們先簡單解釋下GetSiteAData(string AssignName)函數(shù).#t#

函數(shù)功能很簡單,只是要返回查詢結(jié)果,其數(shù)據(jù)格式是XmlDataDocument.當(dāng)查詢失敗時(無匹配查詢結(jié)果),我們構(gòu)造一個xml,返回一個空記 錄.否則,我們把查詢后的dataset生成一個XmlDataDocument,接下來,由于該項目的需要,我加入了一個循環(huán),添加dataset里所 沒有的節(jié)點,站點名稱.在這之后,算是完成了一個符合我們期望格式的xml數(shù)據(jù)文檔,我們把它返回.

好了,webservice的方法函數(shù)介紹完了(這里還有個web服務(wù)方法,稍后介紹),接下來我們的任務(wù)是怎么調(diào)用它了.首先把webservice的 項目編譯完成,假定我們這個服務(wù)是針對資源站點A的,我們不妨稱其為ServiceA.先單獨運行asmx文件,執(zhí)行GetSiteAData (string AssignName)方法,將提示你輸入?yún)?shù),你輸入要搜索的內(nèi)容,點確認(rèn),將返回給你一個xml數(shù)據(jù),并在ie上顯示出來,這就是你搜索到的內(nèi)容拉.

這里對ServiceA的工作再做點介紹,在我們這個項目里,它是資源站點A提供的服務(wù),意思是,它查詢的數(shù)據(jù)將全來源于站點A,而站點A資源添加在本項目也有專門的工程實現(xiàn).

好了,回到正題.這里我介紹vs調(diào)用webservice的方法,其實其他平臺的調(diào)用方法也是大同小異.首先我們介紹web引用方式,這種方式我強烈建議 調(diào)試時使用,非常方便.右擊引用,點添加web引用,輸入你的webservice地址,如:http: //localhost/aspxproject/WebServiceSolution/SiteBService/service1.asmx,你必 須保證你輸入的webservice存在.然后引用即可,注意:web引用名將作為你加入的webservice的名字空間.比如你輸入了:SiteA, 那服務(wù)的實例化將是這樣:SiteA.Service1 serviceA=new SiteA.Service1();(Service1是服務(wù)的類名).

完成了這一步,service的調(diào)用似乎變的那么簡單,我們已經(jīng)實現(xiàn)了遠(yuǎn)程實例化,接下來的遠(yuǎn)程調(diào)用也是一樣的容易.下面給出資源采集站ServiceGatherSite的綁定代碼(只采集A站點的信息)

以下是引用片段:

 
 
  1. public void BindData() 
  2. serviceA=new SiteA.Service1(); 
  3. DataSet ds=new DataSet(); 
  4. XmlNode xmlNode1; 
  5. XmlDataDocument xd=new XmlDataDocument(); 
  6. StringBuilder xmlString1; 
  7. xmlNode1=serviceA.GetSiteAData(strSearch); 
  8. if(xmlNode1==null) //--存儲過程執(zhí)行失敗 
  9. return; 
  10. xmlString1=new StringBuilder(xmlNode1.OuterXml); 
  11. if(xmlString1.ToString().Equals("")) 
  12. return ; 
  13. xd.LoadXml(xmlString1.ToString()); 
  14. ds.ReadXml(new XmlNodeReader(xd)); 
  15. DataGrid1.DataSource=ds.Tables["list"].DefaultView; 
  16. DataGrid1.DataBind(); 

此段代碼給出了xml轉(zhuǎn)化成dataset的解決方案,雖然這不是必須的,但畢竟在asp.net里,dataset占的作用之重,誰都知道的.其他的請 朋友們先看(呵呵,個中高手就免了),在下篇文章中將會有對它的一些解釋與及多服務(wù)分布調(diào)用的解決方案,寫了三篇了,發(fā)現(xiàn)似乎還是有些朋友看的,那我就獻(xiàn) 丑繼續(xù)寫下去好了,大家有什么意見也希望提出,在下的理解存在偏駁也再所難免,希望諒解:)

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

 
 
  1. public void BindData() 
  2. IAsyncResult ar1; 
  3. IAsyncResult ar2; 
  4. serviceA=new SiteA.Service1(); 
  5. serviceB=new SiteB.Service1(); 
  6. DataSet ds=new DataSet(); 
  7. XmlNode xmlNode1,xmlNode2; 
  8. XmlDataDocument xd=new XmlDataDocument(); 
  9. StringBuilder xmlString1,xmlString2; 
  10. ar1=serviceA.BeginGetSiteAData(strSearch,null,null); 
  11. ar2=serviceB.BeginGetSiteAData(strSearch,null,null); 
  12. xmlNode1=serviceA.EndGetSiteAData(ar1); 
  13. xmlNode2=serviceB.EndGetSiteAData(ar2); 
  14. if(xmlNode1==null&&xmlNode2==null)
  15. xmlString1=new StringBuilder(xmlNode1.OuterXml); 
  16. xmlString2=new StringBuilder(xmlNode2.OuterXml); 
  17. xmlString1=MakeNewXmlString(xmlString1,xmlString2); 
  18. if(xmlString1.ToString().Equals("")) 
  19. return ; 
  20. xd.LoadXml(xmlString1.ToString()); 
  21. ds.ReadXml(new XmlNodeReader(xd)); 
  22. DataGrid1.DataSource=ds.Tables["list"].DefaultView; 
  23. DataGrid1.DataBind(); 
  24. public StringBuilder MakeNewXmlString(StringBuilder str1,StringBuilder str2) 
  25. str1str1=str1.Replace("",""); 
  26. str2str2=str2.Replace("",""); 
  27. str1.Append(str2.ToString()); 
  28. return str1; 

此段代碼給出了xml轉(zhuǎn)化成dataset的解決方案,雖然這不是必須的,但畢竟在asp.net里,dataset占的作用之重,誰都知道的.其他的請 朋友們先看(呵呵,個中高手就免了),在下篇文章中將會有對它的一些解釋與及多服務(wù)分布調(diào)用的解決方案,寫了三篇了,發(fā)現(xiàn)似乎還是有些朋友看的,那我就獻(xiàn) 丑繼續(xù)寫下去好了,大家有什么意見也希望提出,在下的理解存在偏駁也再所難免,希望諒解:)

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


網(wǎng)站題目:詳細(xì)介紹VS2003WebService的相關(guān)介紹與注意事宜
標(biāo)題鏈接:http://www.5511xx.com/article/cdhhihc.html