在 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/