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

解析Flex與.NET互操作中基于WebService的數據訪問

開發 后端
本文以.NET平臺下C#語言開發的WebService作為遠程數據源,詳細介紹Flex與.NET的WebService的數據通信知識點;包括連接WebService,遠程調用WebService方法,給WebService方法傳遞參數等相關知識點。

在學習Flex的過程中,你或許會遇到Flex與.NET互操作:基于WebService的數據訪問問題,這里和大家分享一下Flex與.NET的WebService的數據通信知識點。

Flex與.NET互操作:基于WebService的數據訪問

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

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

連接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地址既可,其中定義了兩個操作標簽(<mx:operation>),分別對應于WebService中定義的WebMethod方法。

result屬性標記訪問WebService方法成功后的處理函數;fault則相反,指定于訪問失敗的處理函數。以上兩個<mx:operation>對應于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#
調用WebService所定義方法

完整流程,下面我們來看看在Flex的客戶端怎么去調用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發起請求--調用HelloWorld方法,dataService為<mx:WebService>的id  
  9. 9**/  
  10. 10internalfunctiononRequest():void  
  11. 11{  
  12. 12dataService.HelloWorld();  
  13. 13}  
  14. 14  
  15. 15/**  
  16. 16*請求成功處理返回結果  
  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*請求失敗的處理函數  
  26. 26**/  
  27. 27internalfunctiononFault(evt:FaultEvent):void  
  28. 28{  
  29. 29Alert.show("訪問WebService失敗!");  
  30. 30}  
  31. 31]]> 
  32. 32</mx:Script> 

 #p#給WebService方法傳遞參數

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

  1. 1///<summary> 
  2. 2///將傳遞進來的參數轉化為大寫字符返回  
  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>標簽下配置<mx:operation>執行該方法就可以訪問了,如下:
 

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

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

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

  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*請求失敗的處理函數  
  14. 14**/  
  15. 15internalfunctiononFault(evt:FaultEvent):void  
  16. 16{  
  17. 17Alert.show("訪問WebService失敗!");  
  18. 18}如上便完成了服務端的WebService返回對象到客戶端的調用。  

【編輯推薦】

  1. Flex調用Webservice實現天氣預報
  2. 解析Flex渲染器的使用
  3. 全面認識Flex應用程序的六大元素
  4. 揭開Flex正則表達式的神秘面紗
  5. Flex數據綁定及其使用頻繁的幾種情況 

 

責任編輯:佚名 來源: it168.com
相關推薦

2009-12-24 10:37:03

ADO.NET訪問數據

2024-06-18 13:17:02

數據庫框架

2010-08-09 15:09:27

Flex數據訪問

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-09-07 15:25:24

MySQL數據庫互操作Silverlight

2009-08-27 17:54:13

C#與Flex

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集成

2009-09-07 13:25:56

Silverlight

2010-07-30 09:16:24

Flex數據綁定

2010-07-30 14:26:21

FlexFlash

2010-07-28 14:11:49

Flexasp.net

2011-05-20 16:33:47

委托接口

2010-08-13 15:08:55

Flex數據訪問

2010-08-13 09:11:11

LabelFlex

2010-07-05 10:44:35

SQL Server數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 婷婷精品| 中文字幕日韩欧美一区二区三区 | www久久| 亚洲精品视频在线看 | 一区二区三区视频在线观看 | 精品一区电影 | 欧美日本韩国一区二区 | 成人免费毛片在线观看 | 精品欧美一区二区三区久久久 | a级黄色毛片免费播放视频 国产精品视频在线观看 | www.日本精品| 精品国产视频在线观看 | 日韩在线观看 | 久久久久久综合 | 亚洲福利在线观看 | 成人亚洲网站 | 久久久精| 在线观看日韩精品视频 | 中文字幕在线剧情 | 成人免费小视频 | 日韩精品亚洲专区在线观看 | 亚洲午夜精品一区二区三区他趣 | 国产欧美一区二区三区在线看 | 亚洲性视频网站 | 亚洲成人一级 | 91精品国产一区二区三区香蕉 | 国产精品久久久久久久久久久免费看 | 日本久久久久久 | 中文字幕在线三区 | 欧美成人a | 日韩精品无码一区二区三区 | 日韩久草 | 亚洲国产免费 | 伦理二区| 国产区在线 | 国产成人免费视频网站高清观看视频 | 日韩三级在线观看 | 国产精品一区二区视频 | 天天插天天射天天干 | 天天操夜夜操 | 草草视频在线观看 |