成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解析Flex與.NET互操作中基于WebService的數(shù)據(jù)訪問

開發(fā) 后端
本文以.NET平臺下C#語言開發(fā)的WebService作為遠(yuǎn)程數(shù)據(jù)源,詳細(xì)介紹Flex與.NET的WebService的數(shù)據(jù)通信知識點(diǎn);包括連接WebService,遠(yuǎn)程調(diào)用WebService方法,給WebService方法傳遞參數(shù)等相關(guān)知識點(diǎn)。

在學(xué)習(xí)Flex的過程中,你或許會遇到Flex與.NET互操作:基于WebService的數(shù)據(jù)訪問問題,這里和大家分享一下Flex與.NET的WebService的數(shù)據(jù)通信知識點(diǎn)。

Flex與.NET互操作:基于WebService的數(shù)據(jù)訪問

Flex提供了<mx:WebService>、<mx:HTTPService>和<mx:RemoteObject>標(biāo)簽來直接訪問遠(yuǎn)程數(shù)據(jù),這用于與各種不同語言環(huán)境開發(fā)提供的遠(yuǎn)程服務(wù)端數(shù)據(jù)源(如WebService)進(jìn)行數(shù)據(jù)交互通信顯得更加容易.

本文以.NET平臺下C#語言開發(fā)的WebService作為遠(yuǎn)程數(shù)據(jù)源,詳細(xì)介紹Flex與.NET的WebService的數(shù)據(jù)通信知識點(diǎn);包括連接WebService,遠(yuǎn)程調(diào)用WebService方法,給WebService方法傳遞參數(shù)等相關(guān)知識點(diǎn)。三個標(biāo)簽的使用方法基本上是一樣,這里就以<mx:WebService>標(biāo)簽為例進(jìn)行介紹。

連接WebService

首先看看如下代碼塊:
 

  1. 1<mx:WebServiceidmx:WebServiceid="dataService" 
  2. 2wsdl="http://localhost/FlashFlex/DataWebService.asmx?wsdl" 
  3. 3useProxy="false"> 
  4. 4<mx:operationnamemx:operationname="HelloWorld"result="onSuccess(event)"fault="onFault(event)"/> 
  5. 5<mx:operationnamemx:operationname="GetBook"fault="onFault(event)"result="onObjectSuccess(event)"/> 
  6. 6</mx:WebService> 

 wsdl屬性指定到要訪問的WebService的wsdl地址既可,其中定義了兩個操作標(biāo)簽(<mx:operation>),分別對應(yīng)于WebService中定義的WebMethod方法。

result屬性標(biāo)記訪問WebService方法成功后的處理函數(shù);fault則相反,指定于訪問失敗的處理函數(shù)。以上兩個<mx:operation>對應(yīng)于WebService的WebMethod方法如下:
 

  1. 1///<summary> 
  2. 2///返回字符串  
  3. 3///</summary> 
  4. 4///<returns></returns> 
  5. 5[WebMethod]  
  6. 6publicstringHelloWorld()  
  7. 7{  
  8. 8return"HelloWorld";  
  9. 9}  
  10. 10  
  11. 11///<summary> 
  12. 12///返回一個簡單對象  
  13. 13///</summary> 
  14. 14///<returns></returns> 
  15. 15[WebMethod]  
  16. 16publicBookGetBook()  
  17. 17{  
  18. 18returnnewBook  
  19. 19{  
  20. 20Id=1,  
  21. 21Name="三國演義",  
  22. 22Author="羅貫中",  
  23. 23Price=100 
  24. 24};  
  25. 25}  

 #p#
調(diào)用WebService所定義方法

完整流程,下面我們來看看在Flex的客戶端怎么去調(diào)用WebService所定義的方法:
 

  1. 1<mx:Script> 
  2. 2<![CDATA[  
  3. 3importmx.controls.Alert;  
  4. 4importmx.rpc.events.FaultEvent;  
  5. 5importmx.rpc.events.ResultEvent;  
  6. 6  
  7. 7/**  
  8. 8*向WebService發(fā)起請求--調(diào)用HelloWorld方法,dataService為<mx:WebService>的id  
  9. 9**/  
  10. 10internalfunctiononRequest():void  
  11. 11{  
  12. 12dataService.HelloWorld();  
  13. 13}  
  14. 14  
  15. 15/**  
  16. 16*請求成功處理返回結(jié)果  
  17. 17**/  
  18. 18internalfunctiononSuccess(evt:ResultEvent):void  
  19. 19{  
  20. 20Alert.show(evt.result.toString());  
  21. 21}  
  22. 22  
  23. 23  
  24. 24/**  
  25. 25*請求失敗的處理函數(shù)  
  26. 26**/  
  27. 27internalfunctiononFault(evt:FaultEvent):void  
  28. 28{  
  29. 29Alert.show("訪問WebService失敗!");  
  30. 30}  
  31. 31]]> 
  32. 32</mx:Script> 

 #p#給WebService方法傳遞參數(shù)

通過上面的調(diào)用,就可以完成一個Flex和.NETWebService的交互。當(dāng)然我們在Flash/Flex的客戶端調(diào)用WebService也是可以傳遞參數(shù)的,如下WebService的WebMethod定義:
 

  1. 1///<summary> 
  2. 2///將傳遞進(jìn)來的參數(shù)轉(zhuǎn)化為大寫字符返回  
  3. 3///</summary> 
  4. 4///<paramnameparamname="value"></param> 
  5. 5///<returns></returns> 
  6. 6[WebMethod]  
  7. 7publicstringConvertToUpper(stringvalue)  
  8. 8{  
  9. 9returnvalue.ToUpper();  
  10. 10}  

 ◆通過在<mx:WebService>標(biāo)簽下配置<mx:operation>執(zhí)行該方法就可以訪問了,如下:
 

  1. 1<mx:operationnamemx:operationname="ConvertToUpper"result="onSuccess(event)"fault="onFault(event)"/> 
  2. 1/**  
  3. 2*向WebService發(fā)起請求  
  4. 3**/  
  5. 4internalfunctiononRequest():void  
  6. 5{  
  7. 6//dataService.HelloWorld();  
  8. 7dataService.ConvertToUpper("abcdefg");  
  9. 8} 

另外,我們還可以通過<mx:request>來傳遞參數(shù),這里只需要知道<mx:request></mx:request>里的參數(shù)配置與WebService提供的WebMethod方法參數(shù)同名就OK。

回到前面看看WebService的方法定義,其中一個方法GetBook是返回的一個Book對象,如果是返回的對象我們在Flex的客戶端怎么來獲取這個對象的值呢?詳細(xì)見如下代碼示例:
 

  1. 1internalfunctiononObject():void  
  2. 2{  
  3. 3dataService.GetBook();  
  4. 4}  
  5. 5  
  6. 6internalfunctiononObjectSuccess(evt:ResultEvent):void  
  7. 7{  
  8. 8//直接通過事件的result屬性得到返回值,然后直接訪問屬性便OK  
  9. 9Alert.show(evt.result.Name);  
  10. 10}  
  11. 11  
  12. 12/**  
  13. 13*請求失敗的處理函數(shù)  
  14. 14**/  
  15. 15internalfunctiononFault(evt:FaultEvent):void  
  16. 16{  
  17. 17Alert.show("訪問WebService失敗!");  
  18. 18}如上便完成了服務(wù)端的WebService返回對象到客戶端的調(diào)用。  

【編輯推薦】

  1. Flex調(diào)用Webservice實(shí)現(xiàn)天氣預(yù)報
  2. 解析Flex渲染器的使用
  3. 全面認(rèn)識Flex應(yīng)用程序的六大元素
  4. 揭開Flex正則表達(dá)式的神秘面紗
  5. Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況 

 

責(zé)任編輯:佚名 來源: it168.com
相關(guān)推薦

2009-12-24 10:37:03

ADO.NET訪問數(shù)據(jù)

2024-06-18 13:17:02

數(shù)據(jù)庫框架

2010-08-09 15:09:27

Flex數(shù)據(jù)訪問

2010-08-11 13:01:09

Flex.NETSocket

2009-10-26 09:04:08

Java和.NET互操Web Service

2009-09-01 15:24:59

C++、C#和JAVA

2009-08-27 17:54:13

C#與Flex

2009-09-07 15:25:24

MySQL數(shù)據(jù)庫互操作Silverlight

2010-04-22 10:26:16

.NET互操作

2024-06-12 07:48:24

C#WebService.NET

2010-08-10 10:56:39

2010-08-03 14:24:37

Flex與java集成

2010-07-30 09:16:24

Flex數(shù)據(jù)綁定

2010-07-30 14:26:21

FlexFlash

2009-09-07 13:25:56

Silverlight

2010-07-28 14:11:49

Flexasp.net

2011-05-20 16:33:47

委托接口

2010-08-13 15:08:55

Flex數(shù)據(jù)訪問

2010-08-13 09:11:11

LabelFlex

2010-07-05 10:44:35

SQL Server數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 在线日韩 | 男女啪啪高潮无遮挡免费动态 | 人人精品 | 特级毛片爽www免费版 | 国产一区久久 | 久久久久久久一区 | 欧美精品一区二区在线观看 | 国产综合区| 99视频在线看 | 日韩色在线 | 三级视频网站 | 久久久网 | 久久久999免费视频 999久久久久久久久6666 | 日韩三级一区 | 罗宾被扒开腿做同人网站 | 国产乱码精品1区2区3区 | 国产一区二区三区在线看 | 成人免费网视频 | 成人精品在线观看 | 天天操天天射综合 | 国产成人精品福利 | 国产黄色一级片 | 精品在线观看一区二区 | 久久九九影视 | 欧美激情网站 | 国产日韩欧美一区 | 欧美专区在线视频 | 成人在线免费观看 | 中文字幕成人在线 | 久久99精品久久久 | 国内自拍偷拍一区 | 国产一区二区三区在线视频 | 国产精品欧美一区二区三区不卡 | 农夫在线精品视频免费观看 | 久久在线 | 亚洲精品www久久久久久广东 | 欧美女优在线观看 | 免费视频一区二区三区在线观看 | 久久av一区二区三区 | 97在线播放 | 国产精品免费观看 |