私はこのようなポータブルクラスライブラリ(PCL)メソッドを持っています:
public async Task<string> GetLineStatuses()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
{
return response.GetResponseStream().ReadAllText();
}
}
私のASP.NETWebApiメソッドは次のようになります。
public async Task<HttpResponseMessage> Get()
{
HttpResponseMessage response = new HttpResponseMessage();
string statuses = await service.GetStatuses();
response.Content = new StringContent(statuses);
return response;
}
WebAPIでタスクを返すことの意味は何ですか。これは許可されていますか?私がawaitを使用したい唯一の理由は、Portable Class Library(PCL)を使用できるようにするためです。ベストプラクティスは何ですか?メソッドの同期バージョンと非同期バージョンが必要ですか?パフォーマンスとコードの可読性および保守性への影響は何ですか?
また、戻った場合でも同じ効果がありますTask<string>
かTask<HttpResponseMessage>
?