ホームページ >バックエンド開発 >C#.Net チュートリアル >Flex と .NET の相互運用性 (2): WebService に基づくデータ アクセス (1)

Flex と .NET の相互運用性 (2): WebService に基づくデータ アクセス (1)

巴扎黑
巴扎黑オリジナル
2016-12-20 15:17:131134ブラウズ

Flex は、リモート データに直接アクセスするための 、および を提供します。これは、さまざまな言語環境 (WebService など) によって提供されるリモート サーバー データ ソースの開発に使用されます。データの対話型通信が容易になります。

この記事では、.NET プラットフォームで C# 言語で開発された WebService をリモート データ ソースとして使用し、WebService への接続や WebService のリモート呼び出しなど、Flex と .NET の WebService の間のデータ通信の知識ポイントを詳細に紹介します。メソッド 、パラメータおよびその他の関連するナレッジ ポイントを WebService メソッドに渡します。 3 つのタグの使用法は基本的に同じです。ここでは タグを例に挙げます。

まず次のコード ブロックを見てください:

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

wsdl属性はアクセス先のWebServiceのwsdlアドレスに指定可能で、2つの操作タグ( )、それぞれ WebService で定義された WebMethod メソッドに対応します。 result 属性は、WebService メソッドへのアクセス成功後の処理関数をマークします。逆に、アクセス失敗時の処理関数を指定します。上記の 2 つの は、次のように WebService の WebMethod メソッドに対応します。

1///<まとめ>
2///戻り文字列
3///< ; /summary>
4///
5[WebMethod]
6publicstringHelloWorld()
7{
8return"HelloWorld";
9}
10
11///


12///単純なオブジェクトを返す
13///

14///
15[WebMethod]
16publicBookGetBook()
17{
18returnnewBook
19{
20Id=1,
21Name="三國志",
22Author="羅関中",
23Price=100
24};
25}

上記はWebServiceメソッド定義とFlexクライアント経由です(mxml)< mx:WebService> タグを使用して、WebService の完全なプロセスにアクセスします。

1
2< ![CDATA[
3importmx.controls.Alert;
4importmx.rpc.events.FaultEvent;
5importmx.rpc.events.ResultEvent;
6
7/**
8* WebService へのリクエストを開始します - HelloWorld メソッドを呼び出します。dataService は の ID です
9**/
10internalfunctiononRequest() :void
11{
12dataService.HelloWorld();
13}
14
15/**
16*処理が成功した後にリクエスト結果が返されました
17**/
18internalfunctiononSuccess(evt:ResultEvent):void
19{
20Alert.show(evt.result.toString( ));
21 }
22
23
24/**
25*リクエスト失敗時の処理関数
26**/
27internalfunctiononFault(evt:FaultEvent):void
28{
29Alert.show("WebServiceへのアクセスに失敗しました!");
30}
31]]>
32

上記の呼び出しを通じて、Flex と .NET WebService の間の対話を完了できます。もちろん、Flash/Flex クライアントで WebService を呼び出すときにパラメータを渡すこともできます。次の WebService の WebMethod 定義: Actipro CodeHighlighter によって生成されたコードの強調表示。 (フリーウェア)
http://www.CodeHighlighter.com/

-->1///<まとめ>

2///になりますパラメータを大文字に変換して return

3///
4///
5///< /returns>
6[WebMethod]
7publicstringConvertToUpper(stringvalue)
8{
9returnvalue.ToUpper();
10}

の下に を設定することでアクセスできます。次のようにこのメソッドを実行します:

1

1 /* *
2*WebService へのリクエストを開始します
3**/
4internalfunctiononRequest():void
5{
6//dataService.HelloWorld();
7dataService.ConvertToUpper("abcdefg");
8}


さらに、 を使用してパラメータを渡します。ここで必要なのは、 のパラメータ設定が WebService によって提供される WebMethod メソッドのパラメータと同じ名前であることだけです。

前に戻って、WebService のメソッド定義を見てください。メソッドの 1 つである GetBook は、返されたオブジェクトである場合、Flex クライアントでこのオブジェクトの値を取得する方法を示します。 ?詳細については、次のコード例を参照してください:

1internalfunctiononObject():void
2{
3dataService.GetBook();
4}
5
6internalfunctiononObjectSuccess(evt:ResultEvent):void
7 {
8 //イベントの result 属性を通じて戻り値を直接取得し、その属性に直接 OK
9Alert.show(evt.result.Name);
10}
11
12/**
13*リクエスト失敗時の処理関数
14**/
15internalfunctiononFault(evt: FaultEvent):void
16{
17Alert.show("WebService へのアクセスに失敗しました!");
18}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。