2

flex remoteObject呼び出しを中止することは可能ですか?以下の方法を試しましたが、httpリクエストはまだバックグラウンドで読み込まれています。

var r:RemoteObject = new RemoteObject('<myDestination>');
r.source('myClass');
r.myMethod.addEventListener(ResultEvent.RESULT, myResponse);

r.myMethod(); // lets say this method takes 5 second to call

r.channelSet.disconnectAll(); // I thought this would abort the actual HTTP request but its still running

編集

私が興味を持っているのは、XHRでabortを使用できるjavascriptのように、ブラウザーのHTTPパイプラインを解放することです。

4

2 に答える 2

4

AbstractOperationcancel()のメソッドを試すことができます。

r.getOperation("OperationName").cancel();

アップデート:

これが問題です。私は大きな呼び出しを呼び出し、ユーザーはビューを離れるので、もう応答を待つ必要はありません。現在、http リクエストはそれ以上のリクエストをブロックしています。これに対する解決策はありますか?

現在のサービスを停止するには、サーバー側のサービスで別の操作を行う必要があります。次に、現在実行中のサービスを中止する必要がある場合は、(flex で) 操作をキャンセルしてから、flex 側から停止サービスを呼び出して停止サービスを呼び出します。

サーバー側で現在実行中のスレッドを停止するには、使用したサーバー側によって異なります。

于 2011-04-07T09:42:04.323 に答える
1

Operation cancel によって影響を受けるのは Flex クライアントのみであることに注意してください。レスポンダーが呼び出されることはありません。サーバー側では、リクエストは正常に実行されます (最後までリソースを消費します)。これを防ぐには、カスタム コードを記述する必要があります。

于 2011-04-07T17:36:05.643 に答える