Flex に 2 つの異なる HTTPService クラスがあるのはなぜですか? これ と これ
そして、2 番目のものは最初のものを継承します。2 つを組み合わせた 1 つのクラスが存在しないのはなぜですか。
オブジェクトの 1 つ (投稿した最初のリンク) は、HTTPService オブジェクト自体です。
2 つ目は、HTTPService オブジェクトをラップし、<mxml /> タグの追加機能を提供するオブジェクトです。
HTTService オブジェクトが必要になるたびに IMXMLObject および IMXMLSupport インターフェイスを実装する必要があるとは限らないため、この 2 つが組み合わされていない可能性があります。
mx.rpc.http.mxml.HTTPService も同時実行を処理できますが、もう一方は処理できません。
編集:
オンライン ドキュメントでは同時実行性は両方のプロパティとして表示されますが、いくつかの情報源はそれが正しくないと言っています (そして、最初に使用しようとしたとき、私のテストは機能しませんでした)。また、同時実行パッケージは、基本 rpc クラスではなく、mxml.HTTPService にのみインポートされます。
URLLoaderクラスには、より多くのエラー処理機能があるようです。ただし、MXMLを使用してHTTPServiceを作成することは、大きな違いではありません。
// ActionScript Style
private function myService():void {
var service:HTTPService = new HTTPService();
...service.parameters = value;...
service.send();
}
また
< !-- MXML Style -- >
< mx:HTTPService >
...< parameters >...
< /mx:HTTPService >
1 つ目は mx.rpc.http パッケージのメンバーであり、ActionScript コードで使用されます。HTTPService クラスのもう 1 つのバージョンは、最初のクラスのサブクラスであり、mx.rpc.http.mxml パッケージのメンバーです。これは、タグでオブジェクトをインスタンス化するときに使用するバージョンです。
これらのバージョンはほぼ同じですが、2 つの大きな違いがあります。MXML バージョンのみが showBusyCursor プロパティを実装しています。これにより、HTTPService リクエスト/レスポンス サイクルの間、アニメーション化されたカーソルが上部に表示されます。同じネットワーク リソースが処理されます。
ActionScript で通常使用される HTTPService クラスのバージョンでは、concurrency プロパティは実装されません。これは、ActionScript を使用する場合、通常、新しいリクエストごとに新しい HTTPService オブジェクトを作成するためです。
ソース: Adobe Flex 3 バイブル - David Gassner