微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTTP Post 死锁

如何解决HTTP Post 死锁

我有这个代码

private static async Task<HttpResponseMessage> SendPost(string url,HttpRequestMessage requestBody)
        {
            var ts = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
            var signature = CreateSignature(ts,HttpMethod.Post,url,RequestBodyToBytes(requestBody));

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            var client = new HttpClient
            {
                BaseAddress = new Uri(SUMSUB_TEST_BASE_URL)
            };
            client.DefaultRequestHeaders.Add("X-App-Token",SUMSUB_APP_TOKEN);
            client.DefaultRequestHeaders.Add("X-App-Access-Sig",signature);
            client.DefaultRequestHeaders.Add("X-App-Access-Ts",ts.ToString());

            var response = await client.PostAsync(url,requestBody.Content);

            if (!response.IsSuccessstatusCode)
            {
            }
            return response;
        }

当我在控制台应用程序中运行它时,没有任何问题并且运行良好。但是当我在 xamarin 上运行它时,它遇到了死锁。

一旦这一行“var response = await client.PostAsync(url,requestBody.Content);”执行,会死锁。

有什么见解吗?

解决方法

我不知道,但添加 Cofigureawait(false) 似乎可以解决问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。