我正在开发一个Winforms应用程序,该应用程序在Timer控件循环中对各种Web服务进行一些基于HTTP的API调用。使用async
关键字调用Web服务。问题是我在尝试将结果作为字符串返回时遇到了线程异常。
private async Task<String> UpdateViaApi(ClientInfoObject clientInfoObject)
{
HttpResponseMessage response = await myHttpClient.SendAsync(request);
string result = await response.Content.ReadAsStringAsync();
return result;
}
以下是我如何称呼该方法...
string result = UpdateViaApi(clientInfoObject);
ClientInfoObject
是一个简单的类,它包含数据作为一系列属性。我正确使用Task吗?
答案 0 :(得分:4)
您需要await
返回的任务:
string result = await UpdateViaApi(clientInfoObject);
另请注意,方法名称应以Async
结尾,conform to the convention:
string result = await UpdateViaApiAsync(clientInfoObject);