首頁 後端開發 C#.Net教程 Flex與.NET互通(二):基於WebService的資料存取(上)

Flex與.NET互通(二):基於WebService的資料存取(上)

Dec 20, 2016 pm 03:17 PM
webservice

Flex提供了標籤來直接存取遠端數據,這用於與各種不同語言環境開發提供的遠端服務端資料來源(如WebService)進行資料互動通訊顯得更容易.

本文以.NET平台下C#語言開發的WebService作為遠端資料來源,詳細介紹Flex與.NET的WebService的資料通訊知識點;包括連接WebService,遠端呼叫WebService方法,給WebService方法傳遞參數等相關知識點。三個標籤的使用方法基本上是一樣,這裡就以標籤為例來介紹。

首先看看如下程式碼區塊:

12wsdl="http://localhost/FlashFlex/DataWebService.asmx?wsdl"
3useProxy="false">
4
5
6

wsdl屬性指定到要存取的WebService的wsdl位址既可,其中定義了兩個操作標籤(),分別對應於WebService中定義的WebMethod方法。 result屬性標記存取WebService方法成功後的處理函數;fault則相反,指定於存取失敗的處理函數。以上兩個對應於WebService的WebMethod方法如下:

1///


2///返回字串
3///

4///
5[WebMethod]
6publicstringHelloWorld()
7{
8return"HelloWorld";
9}
10
11///
12///回傳一個簡單物件
11///
12///回傳一個簡單物件
13//12///// 14///
15[WebMethod]
16publicBookGetBook()
17{
18returnnewBook
19{
20Id=1,
21Name="三國演義=100
24};
25}

如上便是WebService方法定義和在Flex的客戶端(mxml)透過標籤來存取WebService的完整流程,下面我們來看看在Flex的客戶端怎麼去呼叫WebService所定義的方法:

1<script><p>23importmx.controls.Alert;<br>4importmx.rpc.events.FaultEvent;<br>5importmx.rpc.events.Result;<br> **<br>8*向WebService發起請求--呼叫HelloWorld方法,dataService為<webservice>的id<br>9**/<br>10internalfunctiononRequest():void<br>11{<br>12dataService.HelloWorld();<br>13}<br>14<br>15/**<br>16*請求成功處理回傳結果<br>17**/<br>18internalfunctiononSuccultx <br>20Alert.show(evt.result.toString());<br>21}<br>22<br>23<br>24/**<br>25*請求失敗的處理函數<br>26**/<br>27internalfunctiononFault(evt:FaultEvent):void<br>27internalfunctiononFault(evt:FaultEvent):void<br>27internalfunctiononFault(evt:FaultEvent):void<br>27internalfunctiononFault(evt:FaultEvent):void<br>28{Tk(o. WebService失敗!");<br>30}<br>31]]><br>32</webservice></p></script>
透過上面的調用,就可以完成一個Flex和.NET WebService的交互。當然我們在Flash/Flex的客戶端呼叫WebService也是可以傳遞參數的,如下WebService的WebMethod定義:

1///

2///將傳遞進來的參數轉換為大寫字元回傳
3/// summary>
4///
5///
6[WebMethod]
7publicstringConvertToUpper(stringvalue)
8{
9returnvalue.ToperUp);
10}

透過在標籤下設定執行該方法就可以存取了,如下:

1

1 /**
2*向WebService發起請求
3**/
4internalfunctiononRequest():void
5{
6//dataService.HelloWorld();
7dataService.ConvertToUpper("abcdefg");
8}


另外,我們還可以透過來傳遞參數,這裡只需要知道裡的參數配置與WebService提供的WebMethod方法參數同名就OK。

回到前面看看WebService的方法定義,其中一個方法GetBook是返回的一個Book對象,如果是返回的對像我們在Flex的客戶端怎麼來取得這個對象的值呢?詳細請參考以下程式碼範例:

1internalfunctiononObject():void
2{
3dataService.GetBook();
4}
5
6internalfunctiononObjectSuccess(evt:ResultEvent):void
7{
8/ult/ult然後直接存取屬性便OK
9Alert.show(evt.result.Name);
10}
11
12/**
13*請求失敗的處理函數
14**/
15internalfunctiononFault(evt:FaultEvent):void
16{
16{
17Alert.show( "存取WebService失敗!");

18}


🎜
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1274
29
C# 教程
1256
24
c#.net的持續相關性:查看當前用法 c#.net的持續相關性:查看當前用法 Apr 16, 2025 am 12:07 AM

C#.NET依然重要,因為它提供了強大的工具和庫,支持多種應用開發。 1)C#結合.NET框架,使開發高效便捷。 2)C#的類型安全和垃圾回收機制增強了其優勢。 3).NET提供跨平台運行環境和豐富的API,提升了開發靈活性。

從網絡到桌面:C#.NET的多功能性 從網絡到桌面:C#.NET的多功能性 Apr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

C#作為多功能.NET語言:應用程序和示例 C#作為多功能.NET語言:應用程序和示例 Apr 26, 2025 am 12:26 AM

C#在企業級應用、遊戲開發、移動應用和Web開發中均有廣泛應用。 1)在企業級應用中,C#常用於ASP.NETCore開發WebAPI。 2)在遊戲開發中,C#與Unity引擎結合,實現角色控制等功能。 3)C#支持多態性和異步編程,提高代碼靈活性和應用性能。

將C#.NET應用程序部署到Azure/AWS:逐步指南 將C#.NET應用程序部署到Azure/AWS:逐步指南 Apr 23, 2025 am 12:06 AM

如何將C#.NET應用部署到Azure或AWS?答案是使用AzureAppService和AWSElasticBeanstalk。 1.在Azure上,使用AzureAppService和AzurePipelines自動化部署。 2.在AWS上,使用AmazonElasticBeanstalk和AWSLambda實現部署和無服務器計算。

C#.NET與未來:適應新技術 C#.NET與未來:適應新技術 Apr 14, 2025 am 12:06 AM

C#和.NET通過不斷的更新和優化,適應了新興技術的需求。 1)C#9.0和.NET5引入了記錄類型和性能優化。 2).NETCore增強了雲原生和容器化支持。 3)ASP.NETCore與現代Web技術集成。 4)ML.NET支持機器學習和人工智能。 5)異步編程和最佳實踐提升了性能。

C#和.NET運行時:它們如何一起工作 C#和.NET運行時:它們如何一起工作 Apr 19, 2025 am 12:04 AM

C#和.NET運行時緊密合作,賦予開發者高效、強大且跨平台的開發能力。 1)C#是一種類型安全且面向對象的編程語言,旨在與.NET框架無縫集成。 2).NET運行時管理C#代碼的執行,提供垃圾回收、類型安全等服務,確保高效和跨平台運行。

c#和.net:了解兩者之間的關係 c#和.net:了解兩者之間的關係 Apr 17, 2025 am 12:07 AM

C#和.NET的關係是密不可分的,但它們不是一回事。 C#是一門編程語言,而.NET是一個開發平台。 C#用於編寫代碼,編譯成.NET的中間語言(IL),由.NET運行時(CLR)執行。

C#.NET開發:入門的初學者指南 C#.NET開發:入門的初學者指南 Apr 18, 2025 am 12:17 AM

要開始C#.NET開發,你需要:1.了解C#的基礎知識和.NET框架的核心概念;2.掌握變量、數據類型、控制結構、函數和類的基本概念;3.學習C#的高級特性,如LINQ和異步編程;4.熟悉常見錯誤的調試技巧和性能優化方法。通過這些步驟,你可以逐步深入C#.NET的世界,並編寫高效的應用程序。

See all articles