在asp.net-mvc中,PostAsync执行时为何等待操作无效?
- 内容介绍
- 文章标签
- 相关推荐
本文共计184个文字,预计阅读时间需要1分钟。
在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旨在保证您的代码在原始任务完成或中止后运行.
本文共计184个文字,预计阅读时间需要1分钟。
在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旨在保证您的代码在原始任务完成或中止后运行.

