Comme Cleary l'a écrit dans son article, pour créer un appel asynchrone, votre tâche doit également être attendue. Cela signifie que la méthode de votre question ( MakeCall()
) est asynchrone, mais l'appel à la méthode est probablement synchrone.
Une classe d'exemple asynchrone :
using System.Threading.Tasks;
public class SampleClass
{
public async Task<string> MakeCall()
{
# I am using the asynchronous call from the HttpClient library
var response = await client.PostAsJsonAsync(url, creds)
...
}
}
Essayez d'attendre l'appel à la méthode.
var makeCall = await SampleClass.MakeCall();
Ce que j'éviterais, c'est d'utiliser .Result
. Comme JDandChips l'indique déjà, cela rend votre appel à nouveau synchrone. Dans ce cas, cependant, il n'est pas nécessaire d'essayer de le rendre asynchrone en premier lieu.