Ye Olde Add Web Reference は、呼び出しが完了したことを呼び出し元に通知するためにイベンティングを使用するサービスへの XXXAsync 呼び出しを生成します。
WPF やコンソール アプリなどでサービス参照を追加すると、非同期操作を生成するように指示されたときに、IAsyncResult デザイン パターン (BeginXXX および EndXXX 操作) が使用されます。私の理解では、これは一般的に使いやすさと柔軟性の一歩前進と見なされていました.コールバックを使用できます.EndXXXを呼び出すだけでいつでもブロックを開始できます.待機ハンドルをグループ化し、一連の操作をブロックできます.などを投票できます。
Silverlight の ASR が IAsyncResult を使用しないのはなぜですか? 私の推測では、設計者は実際には完全な非同期性が必要であることを明確にしたかったためであり、IAsyncResult デザイン パターンを使用していた場合、Begin をすぐに呼び出してから End を呼び出すことを試みるのはあまりにも簡単だったでしょう。ほぼ 100% の新しい開発者や、async をよく理解していない人々がぶつかるつまずきのブロックです。