麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Flex > 正文

基于WebService的數據訪問(上) Flex與.NET互操作(二)

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

首先看看如下代碼塊:
復制代碼 代碼如下:

<mx:WebService id="dataService"
wsdl="http://localhost/FlashFlex/DataWebService.asmx?wsdl"
useProxy="false">
<mx:operation name="HelloWorld" result="onSuccess(event)" fault="onFault(event)"/>
<mx:operation name="GetBook" fault="onFault(event)" result="onObjectSuccess(event)"/>
</mx:WebService>

wsdl屬性指定到要訪問的WebService的wsdl地址既可,其中定義了兩個操作標簽 (<mx:operation>),分別對應于WebService中定義的WebMethod方法。result屬性標記訪問 WebService方法成功后的處理函數;fault則相反,指定于訪問失敗的處理函數。以上兩個<mx:operation>對應于 WebService的WebMethod方法如下:
/// <summary>
/// 返回字符串
/// </summary>
/// <returns></returns>
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}

/// <summary>
/// 返回一個簡單對象
/// </summary>
/// <returns></returns>
[WebMethod]
public Book GetBook()
{
return new Book
{
Id = 1,
Name = "三國演義",
Author = "羅貫中",
Price = 100
};
}

如上便是WebService方法定義和在Flex的客戶端(mxml)通過<mx:WebService>標簽來訪問WebService的完整流程,下面我們來看看在Flex的客戶端怎么去調用WebService所定義的方法:
復制代碼 代碼如下:

<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;

/**
* 向WebService發起請求--調用HelloWorld方法,dataService為<mx:WebService>的id
* */
internal function onRequest():void
{
dataService.HelloWorld();
}

/**
* 請求成功處理返回結果
* */
internal function onSuccess(evt:ResultEvent):void
{
Alert.show(evt.result.toString());
}


/**
* 請求失敗的處理函數
* */
internal function onFault(evt:FaultEvent):void
{
Alert.show("訪問WebService失敗!");
}
]]>
</mx:Script>

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

/// <summary>
/// 將傳遞進來的參數轉化為大寫字符返回
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
[WebMethod]
public string ConvertToUpper(string value)
{
return value.ToUpper();
}

通過在<mx:WebService>標簽下配置<mx:operation>執行該方法就可以訪問了,如下:
<mx:operation name="ConvertToUpper" result="onSuccess(event)" fault="onFault(event)"/>
/**
* 向WebService發起請求
* */
internal function onRequest():void
{
//dataService.HelloWorld();
dataService.ConvertToUpper("abcdefg");
}


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

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

internal function onObject():void
{
dataService.GetBook();
}

internal function onObjectSuccess(evt:ResultEvent):void
{
//直接通過事件的result屬性得到返回值,然后直接訪問屬性便OK
Alert.show(evt.result.Name);
}

/**
* 請求失敗的處理函數
* */
internal function onFault(evt:FaultEvent):void
{
Alert.show("訪問WebService失敗!");
}

如上便完成了服務端的WebService返回對象到客戶端的調用。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色免费入口 | 亚洲自拍第二页 | 国产九九九九 | 深夜福利视频免费观看 | 免费观看一区 | 久久久噜噜噜久久熟有声小说 | 毛片小网站 | 天天看逼 | 精品久久久久久中文字幕 | 亚洲3atv精品一区二区三区 | 91精品国产综合久久久欧美 | 成人精品一区二区 | h视频免费在线观看 | 中国洗澡偷拍在线播放 | 精品国产亚洲人成在线 | 国产毛片在线看 | 中文字幕在线日韩 | 欧美一级一区二区三区 | 在线播放免费播放av片 | 精品三级内地国产在线观看 | 黄色视屏免费在线观看 | 黄色高清免费 | 综合99 | 午夜国产成人 | 曰批全过程40分钟免费视频多人 | 性欧美极品xxxx欧美一区二区 | 777sesese| 曰批全过程120分钟免费69 | 欧美性猛交xxx乱大交3蜜桃 | 国产日韩在线视频 | 精品国产看高清国产毛片 | 欧美18一12sex性处hd | 天天鲁在线视频免费观看 | 成人免费福利视频 | 久久人人爽人人爽人人片av免费 | 国产成人高清成人av片在线看 | 欧美va亚洲| 4480午夜 | 黄色网电影 | 国产精品hd免费观看 | 久久久久久久99 |