在asp.net-mvc中,为何执行PostAsync方法时等待结果无效?

2026-04-30 10:5714阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计198个文字,预计阅读时间需要1分钟。

在asp.net-mvc中,为何执行PostAsync方法时等待结果无效?

在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要等待响应才能进一步使用结果.

在asp.net-mvc中,为何执行PostAsync方法时等待结果无效?

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

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

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

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

本文共计198个文字,预计阅读时间需要1分钟。

在asp.net-mvc中,为何执行PostAsync方法时等待结果无效?

在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要等待响应才能进一步使用结果.

在asp.net-mvc中,为何执行PostAsync方法时等待结果无效?

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

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

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

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