這篇文章將為大家詳細(xì)講解有關(guān)Flex與.NET互操作中基于WebService數(shù)據(jù)訪(fǎng)問(wèn)的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司從2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元舞鋼做網(wǎng)站,已為上家服務(wù),為舞鋼各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):13518219792
Flex與.NET互操作:基于WebService的數(shù)據(jù)訪(fǎng)問(wèn)
Flex提供了<mx:WebService>、<mx:HTTPService>和<mx:RemoteObject>標(biāo)簽來(lái)直接訪(fǎng)問(wèn)遠(yuǎn)程數(shù)據(jù),這用于與各種不同語(yǔ)言環(huán)境開(kāi)發(fā)提供的遠(yuǎn)程服務(wù)端數(shù)據(jù)源(如WebService)進(jìn)行數(shù)據(jù)交互通信顯得更加容易.
本文以.NET平臺(tái)下C#語(yǔ)言開(kāi)發(fā)的WebService作為遠(yuǎn)程數(shù)據(jù)源,詳細(xì)介紹Flex與.NET的WebService的數(shù)據(jù)通信知識(shí)點(diǎn);包括連接WebService,遠(yuǎn)程調(diào)用WebService方法,給WebService方法傳遞參數(shù)等相關(guān)知識(shí)點(diǎn)。三個(gè)標(biāo)簽的使用方法基本上是一樣,這里就以<mx:WebService>標(biāo)簽為例進(jìn)行介紹。
連接WebService
首先看看如下代碼塊:
1<mx:WebServiceidmx:WebServiceid="dataService" 2wsdl="http://localhost/FlashFlex/DataWebService.asmx?wsdl" 3useProxy="false"> 4<mx:operationnamemx:operationname="HelloWorld"result="onSuccess(event)"fault="onFault(event)"/> 5<mx:operationnamemx:operationname="GetBook"fault="onFault(event)"result="onObjectSuccess(event)"/> 6</mx:WebService>
wsdl屬性指定到要訪(fǎng)問(wèn)的WebService的wsdl地址既可,其中定義了兩個(gè)操作標(biāo)簽(<mx:operation>),分別對(duì)應(yīng)于WebService中定義的WebMethod方法。
result屬性標(biāo)記訪(fǎng)問(wèn)WebService方法成功后的處理函數(shù);fault則相反,指定于訪(fǎng)問(wèn)失敗的處理函數(shù)。以上兩個(gè)<mx:operation>對(duì)應(yīng)于WebService的WebMethod方法如下:
1///<summary> 2///返回字符串 3///</summary> 4///<returns></returns> 5[WebMethod] 6publicstringHelloWorld() 7{ 8return"HelloWorld"; 9} 10 11///<summary> 12///返回一個(gè)簡(jiǎn)單對(duì)象 13///</summary> 14///<returns></returns> 15[WebMethod] 16publicBookGetBook() 17{ 18returnnewBook 19{ 20Id=1, 21Name="三國(guó)演義", 22Author="羅貫中", 23Price=100 24}; 25}
調(diào)用WebService所定義方法
完整流程,下面我們來(lái)看看在Flex的客戶(hù)端怎么去調(diào)用WebService所定義的方法:
1<mx:Script> 2<![CDATA[ 3importmx.controls.Alert; 4importmx.rpc.events.FaultEvent; 5importmx.rpc.events.ResultEvent; 6 7/** 8*向WebService發(fā)起請(qǐng)求--調(diào)用HelloWorld方法,dataService為<mx:WebService>的id 9**/ 10internalfunctiononRequest():void 11{ 12dataService.HelloWorld(); 13} 14 15/** 16*請(qǐng)求成功處理返回結(jié)果 17**/ 18internalfunctiononSuccess(evt:ResultEvent):void 19{ 20Alert.show(evt.result.toString()); 21} 22 23 24/** 25*請(qǐng)求失敗的處理函數(shù) 26**/ 27internalfunctiononFault(evt:FaultEvent):void 28{ 29Alert.show("訪(fǎng)問(wèn)WebService失敗!"); 30} 31]]> 32</mx:Script>給WebService方法傳遞參數(shù)
通過(guò)上面的調(diào)用,就可以完成一個(gè)Flex和.NETWebService的交互。當(dāng)然我們?cè)贔lash/Flex的客戶(hù)端調(diào)用WebService也是可以傳遞參數(shù)的,如下WebService的WebMethod定義:
1///<summary> 2///將傳遞進(jìn)來(lái)的參數(shù)轉(zhuǎn)化為大寫(xiě)字符返回 3///</summary> 4///<paramnameparamname="value"></param> 5///<returns></returns> 6[WebMethod] 7publicstringConvertToUpper(stringvalue) 8{ 9returnvalue.ToUpper(); 10}◆通過(guò)在<mx:WebService>標(biāo)簽下配置<mx:operation>執(zhí)行該方法就可以訪(fǎng)問(wèn)了,如下:
1<mx:operationnamemx:operationname="ConvertToUpper"result="onSuccess(event)"fault="onFault(event)"/> 1/** 2*向WebService發(fā)起請(qǐng)求 3**/ 4internalfunctiononRequest():void 5{ 6//dataService.HelloWorld(); 7dataService.ConvertToUpper("abcdefg"); 8}另外,我們還可以通過(guò)<mx:request>來(lái)傳遞參數(shù),這里只需要知道<mx:request></mx:request>里的參數(shù)配置與WebService提供的WebMethod方法參數(shù)同名就OK。
回到前面看看WebService的方法定義,其中一個(gè)方法GetBook是返回的一個(gè)Book對(duì)象,如果是返回的對(duì)象我們?cè)贔lex的客戶(hù)端怎么來(lái)獲取這個(gè)對(duì)象的值呢?詳細(xì)見(jiàn)如下代碼示例:
1internalfunctiononObject():void 2{ 3dataService.GetBook(); 4} 5 6internalfunctiononObjectSuccess(evt:ResultEvent):void 7{ 8//直接通過(guò)事件的result屬性得到返回值,然后直接訪(fǎng)問(wèn)屬性便OK 9Alert.show(evt.result.Name); 10} 11 12/** 13*請(qǐng)求失敗的處理函數(shù) 14**/ 15internalfunctiononFault(evt:FaultEvent):void 16{ 17Alert.show("訪(fǎng)問(wèn)WebService失敗!"); 18}如上便完成了服務(wù)端的WebService返回對(duì)象到客戶(hù)端的調(diào)用。關(guān)于“Flex與.NET互操作中基于WebService數(shù)據(jù)訪(fǎng)問(wèn)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
新聞名稱(chēng):Flex與.NET互操作中基于WebService數(shù)據(jù)訪(fǎng)問(wèn)的示例分析
本文網(wǎng)址:http://www.chinadenli.net/article46/piijhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站收錄、App開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)