如何从asp.net进行异步web api调用
本文关键字:异步 web api 调用 asp net | 更新日期: 2024-09-20 19:48:15
我正在尝试从asp.net
实现异步web api调用
我的代码类似于这个
var response = httpClient.PostAsJsonAsync("api/apicontroller/execute/", executeModel).Result;
这是在同步模式下工作的。
我不想等待webapi调用完成。如何使用.net框架4实现此功能?
将行更改为:
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;
我如何使用.net框架4来实现这一点?
不能在ASP.NET 4上使用async
、await
或HttpClient
。它们都需要ASP.NET 4.5。您可以选择升级到ASP.NET 4.5并使用自然的await
语法,或者留在ASP.NET 4并使用类似WebClient
的语法。