サーバーとの単一チャネルエンドポイント(非セキュア)通信にBlazeDSを使用するFlexWebアプリケーションがあります。
すべてが正常に実行されており、サーバーとデータベースとの間でデータを送受信するために、ほとんどすべての場所でBlazeDSを使用しました。サーバーからデータを取得するための新しいコードを作成していますが、サーバーは最初にこのデータを処理する必要があり、これには時間がかかります(たとえば、要求に応じて5〜30分)。
これまでの私のデザインパターンは、ユーザーにビジーカーソルを表示し、メインアプリケーションを無効にすることでした(デフォルトでは、Flexは無効になっているときにアプリケーションをぼかします)。これは通常、通信が完了するまで1〜2秒続きます。ただし、通信が完了するまでに時間がかかるため、サーバーからのプロセスがまだ戻っていない場合でも、ユーザーにアプリケーションを引き続き使用してもらいたいと考えています。
したがって、私がやりたいのは、メインアプリケーションを無効にしないことです。これにより、ユーザーはデータが返されるのを待っている間、メインアプリケーションを操作できます。私が心配している問題は、ユーザーがこの間に(たとえば最初のプロセスが戻る前に)別のプロセスをサーバーに送信するためにアプリケーションを使用する場合です-これは問題を引き起こしますか?つまり、BlazeDSは、チャネルがビジーであることを認識できるほど賢いので、リクエストを自動的にキューに入れますか?たとえば、BlazeDSは、最初のリクエストが返されるまで待機してから、2番目または3番目などを送信しますか?
または、この通信を手動で制御して、シリアル方式で確実に行われるようにする必要がありますか?もしそうなら、これを処理するためのデザインパターンはありますか?
または、BlazeDSは、最初のリクエストが戻る前に2番目のリクエストを送信して返すことができますか?
どんなアドバイスも大歓迎です。ユーザーが使用できないアプリケーションを5〜30分間見つめ、データが返されるのを待つのを避ける方法を探しています。ビジーカーソルはデータがまだ返されていないことを示しているので問題ありませんが、特に無効になっているメインアプリケーション(ぼやけているかどうかに関係なく)が問題になります。
アップデート:
ここでは、同じメソッドではなく、異なるメソッドへの同時呼び出しについて話しています。したがって、2つのメソッドがある場合は、最初のメソッドを呼び出し、戻ってくるのを待っている間に、最初のメソッドが(最終的に)戻る前に安全に戻る2番目または3番目のメソッドを呼び出します。これはBlazeDSでサポートされていますか?