如何解决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 举报,一经查实,本站将立刻删除。