我有一段代码可以从网络服务加载数据:
client = new HttpClient(handler) {Timeout = TimeSpan.FromSeconds(60)};
var post = await client.PostAsync(url, new FormUrlEncodedContent(parameters));
当我在独立应用程序中运行它时 - 其中一个是 WPF,另一个是 WinForms - 它工作得很好。
但是,我还有一个嵌入到更大的 WPF 应用程序中的版本。在这两种情况下,当使用嵌入式版本时,应用程序都会卡在 post 线上。
我已经在web service端和fiddler上查过了,肯定是在发送请求,并且正在返回响应。似乎 PostAsync 只是没有得到返回的响应,因此无法继续。我需要做些什么才能使其正常运行吗?
所有 HTTP 请求和响应看起来都很好,所以我认为这与此无关。它只是捕获此响应。
最佳答案
我最近遇到了类似的问题,使用ConfigureAwait(false)
解决了,像这样:
var post = await client
.PostAsync(url, new FormUrlEncodedContent(parameters))
.ConfigureAwait(false);
关于c# - 为什么 HttpClient.PostAsync 在 WPF 环境中返回失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38202719/