我有一些我实际移植到VB.Net的C#代码。现在我注意到ConfigureAwait(false)随处可见。要求代码必须依赖于.Net 4.0
您可能知道... .NET 4.5中出现ConfigureAwait(false)。如何将以下代码转换为与.Net 4.0兼容?
是否存在通用解决方案,因为代码中到处都有ConfigureAwait
public async Task<ListResponse> GetResponseAsync(ListRequest request = null)
{
request = request ?? new ListRequest
{
Limit = _limit
};
using (var client = CreateMailClient("lists"))
{
var response = await client.GetAsync(request.ToQueryString()).ConfigureAwait(false);
await response.EnsureSuccessMailChimpAsync().ConfigureAwait(false);
var listResponse = await response.Content.ReadAsAsync<ListResponse>().ConfigureAwait(false);
return listResponse;
}
}
答案: 参考Microsoft.BCL.Async
答案 0 :(得分:0)
这就是您要寻找的精确的东西。
如果您正在使用ConfigureAwait(),则可能真的很在意它,并希望它能够实际运行。不幸的是,由于异步方法实际上可能是同步完成的,因此对ConfigureAwait()的调用可能不会影响任何事情。这意味着您也必须将它放在下一个异步调用上,依此类推,直到它出现在库中的每个方法上。
参考Microsoft开发人员