我正在尝试从 asp.net 实施异步网络API
我的代码与此类似
var response = httpClient.PostAsJsonAsync("api/apicontroller/execute/", executeModel).Result;
这适用于同步模式。
我不想等待 webapi电话完成。 我如何使用 .net framework 4 实现这一点?
答案 0 :(得分:2)
将行更改为:
var response = await httpClient.PostAsJsonAsync("api/apicontroller/execute/", executeModel);
检查Result
属性使其同步。另外,请确保您的方法签名包含async
关键字。
编辑:如果您不想立即等待结果,可以推迟等待(或从不执行):
var task = httpClient.PostAsJsonAsync("api/apicontroller/execute/", executeModel);
/* Do other stuff in parallell here */
var result = await task;
答案 1 :(得分:1)
我如何使用.net framework 4实现这个?
您无法在ASP.NET 4上使用async
,await
或HttpClient
。它们都是require ASP.NET 4.5。您可以选择升级到ASP.NET 4.5并使用自然的await
语法,或者继续使用ASP.NET 4并使用类似WebClient
的内容。