为什么HttpClient.PostAsync无法在WPF环境中返回?

时间:2016-07-05 11:49:54

标签: c# wpf http

我有一段代码从Web服务加载数据:

        client = new HttpClient(handler) {Timeout = TimeSpan.FromSeconds(60)};
        var post = await client.PostAsync(url, new FormUrlEncodedContent(parameters));

当我在独立应用程序中运行它时 - 其中一个是WPF,另一个是WinForms - 这完全正常。

但是,我还有一个嵌入在更大的WPF应用程序中的版本。在这两种情况下,当使用嵌入式版本时,应用程序将挂在帖子行上。

我已经检查过web服务端,并且在fiddler上,它肯定是在发送请求,并且正在返回响应。似乎PostAsync只是没有得到返回的响应,因此无法进展。我需要做些什么才能使其正常运行?

所有的HTTP请求和响应都很好,所以我不认为这与此有关。这只是捕获这种反应。

1 个答案:

答案 0 :(得分:2)

我最近遇到了类似的问题,使用ConfigureAwait(false)解决了这个问题,如下所示:

var post = await client
                 .PostAsync(url, new FormUrlEncodedContent(parameters))
                 .ConfigureAwait(false);