1

-Completed イベントが何度もサブスクライブされている状態で、複数回呼び出された WebService メソッドから発生した -Completed イベントを処理するためのベスト プラクティスは何でしょうか。

この回答は、イベント引数から結果を識別することを提案しています (この例では e.Type を使用していますが、e.Result.Id または必要なものを識別するのに役立つものを使用して実行することもできます)。

一方、この回答は、各呼び出しのクライアントの初期化を示しています。

何をするのが最善ですか?

  • その内容/追加情報から結果を識別します。
  • イベント ウェイターごとに 1 つずつ、複数のクライアントを使用します。
  • 他の何か?

質問は .NET 4.0 以降のものですが、以前のバージョンから機能し、まだ実行可能な「ベスト プラクティス」がある場合は、とにかく気軽に教えてください。

4

2 に答える 2

0

私が以前に使用した1つの方法は、Webサービス呼び出しを連鎖させることでした。したがって、最初の呼び出しが完了したときに、完了したイベントから登録を解除し、別のコールバックメソッドなどを使用して別のイベントまたは同じイベントに登録しました...これはアプローチとしては完璧ではありませんでしたが、遅延は最小限でした。多くのプロキシインスタンスを管理するよりも複雑ではありませんでした。呼び出しを並行して実行する必要がある場合は、複数のクライアントを用意することを検討しました。これがおそらく道のりです。

于 2012-11-28T03:47:16.390 に答える
0

何をしようとしているのかによっては、Web サービスに関連する各論理タスクを表すクラスを作成したい場合があります。論理タスクのインスタンスごとにそのクラスのインスタンスを作成し、そのクラスにイベントを与えます。

各イベントのsenderパラメーターは、ラッパー クラスのインスタンスになります。次に、そのような各論理スレッドのイベントを 1 つのコードで処理することができ、「論理スレッド」には必要なすべての状態が含まれます。

于 2012-11-28T03:51:41.657 に答える