我有一个像这样的可移植类库(PCL)方法:
public async Task<string> GetLineStatuses()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
{
return response.GetResponseStream().ReadAllText();
}
}
我的 ASP.NET Web Api 方法如下所示:
public async Task<HttpResponseMessage> Get()
{
HttpResponseMessage response = new HttpResponseMessage();
string statuses = await service.GetStatuses();
response.Content = new StringContent(statuses);
return response;
}
在 Web API 中返回任务的含义是什么。这是允许的吗?我想使用 await 的唯一原因是我可以使用可移植类库 (PCL)。最佳做法是什么?我应该有我的方法的同步版本和异步版本吗?性能和代码可读性和可维护性有何影响?
Task<string>
如果我返回而不是返回,我也会有同样的效果Task<HttpResponseMessage>
吗?