Mateフレームワークを使用してFlexで強力にタイプされたリモートサービスオブジェクトを使用する方法は?
-
10-10-2019 - |
質問
私はMate Frameworkに比較的新しいですが、これまでのところ、私が見ているものが本当に好きです。私のアプリケーションは、多くを使用しています <RemoteObjectInvoker>
バックエンドで私のBlazeds/Javaサービスメソッドを呼び出すタグ。
ただし、実行時までエラーが発見されないため、数百のリモートメソッドの文字列名をイベントマップに入力する必要があることを悩ませています。また、リクエストがサーバーにヒットするまで、引数の構造に関する問題は発見されないことを悩ませています。さらに、これはすべて、模擬データサービスレイヤーを提供することが難しくなります(不可能ではありません)。
これらの問題を解決するために、メソッドを持つリモートサービス宛先ごとにActionScript3インターフェイスを作成しました。これらのメソッドは、「getoperation」と「送信」コールを包みます。各メソッドは、「送信」コールのように、非同期トークンを返します。
しかし、私はイベントマップからこれらの強くタイプされたサービス方法を呼び出す方法に苦労しています。を探しています:
1)remoteObjectInvokerメソッド属性に文字列リモートメソッド名の代わりにアクションスクリプト関数/メソッドを取得します。そして、getoperationで文字列名を使用するのではなく、その方法を呼び出して非同期トークンを取得します。
2)#1を禁止 - MethodInvokerのようなタグはありますが、それは非同期トークンと結果/失敗ハンドラーを処理できますか?
3)#2を除いて - 私は仲間の拡張機能を作成する必要があると思っています。おそらく「asyncmethodinvoker」と呼ばれる新しいタグ。
最良の行動に関するアイデアはありますか?必要に応じてメイトを捨てますが、本当に維持したいです!
解決
APIで利用可能であるが文書化されていないクラスでそれを見つけました。それはデリゲートの招待者と呼ばれ、ここにあります:
http://mate.asfusion.com/api_docs/asfusion/mate/actions/builders/delegateinvoker.html
AyncMethodinvokerと呼ばれるタグもすでにありますが、DelegateInvokerはリモートサービスの呼び出しにより適しているようです。