试图理解 Async/Await 但似乎陷入僵局 c#

Trying to understand Async/Await but seem to get deadlock c#

我有一个异步方法,我在该方法中调用了另一个异步方法。 在第二种方法中,我调用了 API。我知道我的 API 请求是正确的,所以它与 async/await.

有关

我是在制造僵局吗?如果是哪里?以及如何修复它?

public async Task<AmountInvoicedModel> CreatePaymentsAndSendAsEmail(InvoiceRequestModel model, bool calculate)
    {
      ....
      await CreateQRCodes("testMsg");
      ....
    }

public async Task CreateQRCodes(string ocrNmbr)
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("https://mpc.getswish.net/qrg-swish/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(
            new MediaTypeWithQualityHeaderValue("application/json"));
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

        var json = new
        {
            payee = new
            {
                value = "01234567890",
                editable = false
            },
            amount = new
            {
                value = 100,
                editable = false
            },
            message = new
            {
                value = $"{ocrNmbr}",
                editable = false
            },
            format = "jpg",
            size = 300
        };
        try
        {
            HttpResponseMessage response = await client.PostAsJsonAsync(
            "api/v1/prefilled", json);

            var result = await response.Content.ReadAsStreamAsync();
        }
        catch (Exception ex)
        {
            throw;
        }
        

        
    }

更新:我也不得不等待“CalculateInvoice”方法。所以现在它不再死锁了,它继续前进 - 但没有给我回应

[HttpPost]
    [Route("calculateInvoice")]
    public async Task<IHttpActionResult> CalculateInvoice([FromBody] InvoiceRequestModel model)
    {
        model.EmailAddress = AccountHelper.GetLoggedInUsername();
        var result = await _paymentHandler.CreatePaymentsAndSendAsEmail(model, true);
        if (result == null)
            return Conflict();
        return Ok(result);
    }

我必须在 CalculateInvoice 方法上放置 await 才能继续。

[HttpPost]
[Route("calculateInvoice")]
public async Task<IHttpActionResult> CalculateInvoice([FromBody] InvoiceRequestModel model)
{
    model.EmailAddress = AccountHelper.GetLoggedInUsername();
    var result = await _paymentHandler.CreatePaymentsAndSendAsEmail(model, true);
    if (result == null)
        return Conflict();
    return Ok(result);
}