在WebApi项目中,我做一个Post将一些文件转换为另一个文件: var post = client.PostAsync(requestUri, content);post.Wait();var result = post.Result; 结果将包含转换后的文件,因此对我来说重要的是当前的Th
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旨在保证您的代码在原始任务完成或中止后运行.