当前位置 : 主页 > 网络编程 > ASP >

asp.net-mvc – 在做PostAsync时为什么等待不起作用?

来源:互联网 收集:自由互联 发布时间:2021-06-24
在WebApi项目中,我做一个Post将一些文件转换为另一个文件: var post = client.PostAsync(requestUri, content);post.Wait();var result = post.Result; 结果将包含转换后的文件,因此对我来说重要的是当前的Th
在WebApi项目中,我做一个Post将一些文件转换为另一个文件:

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

结果将包含转换后的文件,因此对我来说重要的是当前的Thread要等待响应才能进一步使用结果.

好吧,它似乎更进一步,当然,结果尚未准备好……我在这里做错了吗?

我已经看到Cuong推荐的方法出现间歇性线程问题.相反,我建议你使用这种方法:

var response = client
      .PostAsync(requestUri, content)
      .ContinueWith( responseTask => {
           var result = responseTask.Result;
           // .... continue with your logic ...
       });

response.Wait();

ContinueWith method旨在保证您的代码在原始任务完成或中止后运行.

网友评论