asp.net-mvc - 执行 PostAsync 时为什么等待不起作用?

标签 asp.net-mvc asp.net-web-api

在 WebApi 项目中,我执行 Post 将一些文件转换为另一个文件:

var post = client.PostAsync(requestUri, content);
post.Wait();
var result = post.Result;

结果将包含转换后的文件,因此当前线程在进一步使用结果之前等待响应对我来说很重要。

嗯,好像更进一步,当然,结果还没有准备好……我在这里做错了什么吗?

最佳答案

如果要同步做,不用调用Wait() ,直接返回Result即可,Result属性阻止调用线程,直到任务完成。

var response = client.PostAsync(requestUri, content).Result;
response.EnsureSuccessStatusCode();

到这里,result的内容还没有准备好,需要继续获取内容:
var responseBody = response.Content.ReadAsStreamAsync().Result;

关于asp.net-mvc - 执行 PostAsync 时为什么等待不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11970328/

相关文章:

javascript - Jquery - 创建一个 div 和其他子元素

javascript - ASP.Net MVC 5 将数据传递到模态

unit-testing - 单元测试Web Api 2模拟用户

c# - 从 IHttpActionResult 响应中获取对象 c#

jquery - ASP.net MVC 3 导航 Accordion 图像路径

c# - 在 Razor ASP.NET MVC 中调用方法

asp.net-mvc - 如何在MVC4 Jquery中重置包含级联下拉列表的部分 View

asp.net-mvc - ASP.NET MVC Controller 无法使用流式内容正确返回 HttpResponseMessage

c# - 向 REST 响应添加验证信息

c# - 当找到路由/url但没有找到它背后的资源时返回什么?