Я вызываю API с асинхронным c методом, метод возвращает информацию, которая мне нужна в задаче, но я не могу отобразить необходимую информацию в текстовом поле winform.
Вот метод:
public static async Task<Token> GetTokenAsync()
{
Token token = new Token();
string path = @"URL";
using (var client = new HttpClient())
{
//URL + HEADER DE LA REQUETE
client.BaseAddress = new Uri(path);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//MIS EN FORME DU JSON D'AUTHENTIFICATION
var requestBody = new
{
username = "DSAE_PHID_RECETTE",
password = "testpwd1"
};
//ENVOIE DE LA REQUETE ET RECUPERATION DE LA REPONSE
HttpResponseMessage apiResponse = await client.PostAsJsonAsync(client.BaseAddress, requestBody);
//RECUPERATION DES INFORMATION DU RETOUR DE L'API
if (apiResponse.IsSuccessStatusCode)
{
var response = await apiResponse.Content.ReadAsStringAsync();
token.idToken = response;
return token;
}
else
{
return null;
}
}
А вот попытка отобразить
private void btnEnvoyer_Click(object sender, EventArgs e)
{
Task<Token> tokentask = RequeteHttp.GetTokenAsync();
// txtResult.Text = tokentask.Result.ToString();
}
Если я раскомментирую ligne, он зависнет.
Я знаю, что-то там с Задача, которую я не до конца понимаю, но даже со всеми примерами я не могу заставить ее работать.
Заранее спасибо.