问题描述
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) 似乎可以解决问题。