私はWCFサービスを作成し、その操作契約と実装を次のようにしています。
[OperationContract]
Task<string> GetName(string name);
public async Task<string> GetName(string name)
{
await Task.Delay(5000);
var task1 = Task<string>.Factory.StartNew(() =>
{
return "Your name is : " + name;
});
var result = await task1;
return result;
}
今、私はクライアント側でこのサービスを使用していて、クライアントを作成しました。
ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
それは私の実装のための2つのメソッドを示しています:GetNameとGetNameAsync
サービスにアクセスするには、次の2つの方法を使用できます。
var result_GetName = await Task.Factory.StartNew(() => client.GetName("My Input"));
var result_GetNameAsync = await client.GetNameAsync("My Input");
- Q.1 2つのアプローチに違いはありますか?
- Q.2特定の条件で使用することをお勧めしますか?または私はいつでもそれらのいずれかを使用することができます。
- Q.3 2つの場所(クライアントサーバー)でasync-awaitを使用している2番目の呼び出しには、何か利点がありますか?
ご案内ください。