1

私はからの例に従っています

http://msdn.microsoft.com/en-us/library/8wy069k1.aspx

イベントベースの非同期パターンを使用して (サード パーティによって) 実装された Web サービスを使用する。

ただし、私のプログラムは を複数回呼び出す必要があるDoStuffAsync()ため、多くの が返されDoStuffCompletedます。Object userStateそれらを区別するために、追加のパラメーターを取るオーバーロードを選択しました。

私の最初の質問は次のGUIDとおりです。GUID を使用して一意の taskID を生成する場合、以下のようにオブジェクトにキャストすることは有効ですか?

Object userState = Guid.NewGuid();

DoStuffAsync()次に、複数回呼び出しているため、呼び出しごとに新しいスレッドを生成する必要がありますか?

また、このテーマに関するオンラインの例やチュートリアルがあるとよいでしょう。(私は一日中グーグルで探していましたが、あまり戻ってきませんでした)

どうもありがとう

新しい質問: デリゲート コールバックを AsyncCompletedEventArgs.UserState に埋め込むことはできますか? 後処理を行うには発信者へのコールバックが必要であることがわかりました...おっと!

4

1 に答える 1

0

Aync メソッドが完了すると、参照を適切なコンテキストに配置する方法がわかります。

Async メソッドがスレッド化を行います。すべての Async 呼び出しを行う 1 つのスレッドが必要でない限り、別のスレッドを実行しないでください。しかし、そのようなことをする前に、それを機能させることをお勧めします。段階的に構築します。

于 2010-04-09T11:57:33.473 に答える