等待HttpClient.SendAsync没有响应

时间:2019-06-03 10:51:55

标签: c# http curl x509

我有一个curl命令返回一个输出。 Access Denied对我来说很好,目前我感兴趣的是XML输出。

enter image description here

curl -v  -E C:\SEB\certificate.pfx --cert-type p12 -X GET https://test.api.bgw.baltics.sebgroup.com/v1/accounts/EE101010220279354221/current-transactions -H OrgId:22223338

我编写了一个代码片段,该片段应与提供的curl命令相同,但响应变量返回null(当代码到达line时)

response = await httpClient.SendAsync(request); 

程序退出,不再执行任何代码。

我在做什么错?为什么我不能像curl命令一样获得响应的内容?

谢谢您的帮助

在C#中提供的以下代码段:

    public async Task HttpRequestAppAsync()
    {

                var handler = new HttpClientHandler {ClientCertificateOptions = ClientCertificateOption.Manual};
                handler.ClientCertificates.Add(new X509Certificate2("C:\\SEB\\certificate.pfx"));

                using (var httpClient = new HttpClient(handler))
                {
                    using (var request = new HttpRequestMessage(new HttpMethod("GET"), "https://test.api.bgw.baltics.sebgroup.com/v1/accounts/EE101010220279354221/current-transactions"))
                    {
                        request.Headers.TryAddWithoutValidation("OrgId", "22223338");
                        response = await httpClient.SendAsync(request);
                    }
                }

    }

1 个答案:

答案 0 :(得分:0)

似乎已经解决了。 死锁到位 我需要做的就是添加其他方法ConfigureAwait并将其设置为false

response = await httpClient.SendAsync(request).ConfigureAwait(false);