0

時間がかかる可能性があるサーバーを呼び出す場合は、サーバー コントラクトで非同期メソッドを使用することをお勧めします。

この場合、プロキシを作成するには、非同期メソッドを作成することを示す必要があります。

ただし、クライアントでスレッドを使用してサービスを呼び出す場合、このセカンダリ スレッドはクライアントをブロックせずに結果を待機できるため、非同期メソッドを使用する必要がないのではないかと考えていました。.NET 4.0を使っているので、タスクが使えます。

正解です?これが正しい場合、非同期メソッドを使用するか、クライアントでスレッド化を使用するのが最善の方法ですか?

ありがとう。ダイムロック。

4

1 に答える 1

1

個人的には非同期メソッドをお勧めします。これは主に、Microsoft が .NET 4.5 で明確に採用している方向であるためです。C# 5 では、非同期 API を簡単に使用できるようにするための言語サポートが提供される予定です。クライアント コードは、UI が適切なスレッドでのみ更新されるようにするためのスレッド間のマーシャリングや、個別にスレッドを作成することなどを心配する必要はありません。サービスの結果を「待つ」だけで、「正しいことを行う」ことができます。 .

このサポートには魔法のようなものは何もありません- 根底にある基本的な同時実行の問題は引き続き処理する必要がありますが、エラーが発生しやすいボイラープレートはプラットフォームによって処理されるため、本質的で避けられない複雑さを簡単に確認して処理できます。

于 2012-04-05T10:08:50.440 に答える