Dan*_*nte 2 c# asp.net-mvc async-await asp.net-web-api
我有一个ASP.NET MVC站点和一个Web API.在MVC站点的控制器操作中,我做:
public ActionResult ActionAsync()
{
string result = MakeAsyncRequest().Result;
return View("Index", (object)result);
}
Run Code Online (Sandbox Code Playgroud)
MakeAsyncRequest()如下:
private async Task<string> MakeAsyncRequest()
{
using (var client = new HttpClient())
{
Task<string> response = client.GetStringAsync("http://localhost:55286/api/Home");
DoSomething();
return await response;
}
}
Run Code Online (Sandbox Code Playgroud)
当我调试时,我看到正在执行的DoSomething()(它只是一个空白),也调用了WebAPI并返回一个字符串,但是MakeAsyncRequest的返回不会发生,浏览器会无限期地等待服务器返回一些东西.
为什么是这样?与客户端是ASP.NET MVC站点有什么关系?