c# - 为什么 HttpClient.PostAsync 在 WPF 环境中返回失败?

标签 c# wpf http

我有一段代码可以从网络服务加载数据:

        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/

相关文章:

c# - 如何从UI将项目添加到ComboBox?

java - 服务器端异步和同步HTTP请求,性能对比

c# - 删除 XYZ 点列表中的重复项

c# - 如何使用 Blazor 服务器正确操作 EditContext 中的验证消息

c# - 动态加载 DbSet 到 DbContext

c# - WPF 图像停止重绘

c# - 是否可以使用 OleDb 将 Int[] 发送到 Oracle 存储过程

c# - 如何清除单击按钮上的文本框

regex - 有没有办法只使用 3x 来解决几个 CloudFlare 'Page Rules'?

ajax - 调用 angularJS $http.jsonp 时未捕获的语法错误 : Unexpected token <,