PostAsync HttpClient erreur avec Api Web - Système.AggregateException “Une tâche a été annulée.”
Je suis en train d'appeler PostAsync méthode à l'aide de Système.Net.Http.HttpClient de l'API Web. J'obtiens l'erreur suivante:
Système.AggregateException "Une tâche a été annulée."
Tâche:
Id = 1, Status = Système.Le filetage.Les tâches.TaskStatus.Annulé, Method = "{null}", Résultat = "{Pas encore calculé}"
Code:
using (HttpClientHandler handler = new HttpClientHandler())
{
handler.Credentials = new NetworkCredential("MyUsername", "p@ssw0rd");
using (HttpClient client = new HttpClient(handler))
{
var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>("status", "Hello world"));
HttpContent content = new FormUrlEncodedContent(postData);
var responseTask = client.PostAsync(url, content).ContinueWith(
(postTask) =>
{
postTask.Result.EnsureSuccessStatusCode();
});
}
Je suppose que le responseTask force la méthode à exécuter de manière synchrone?
C'est une application WPF, pas ASP.NET.
OriginalL'auteur pfeds | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
En termes de débogage vous pourriez essayer d'écrire une méthode d'extension pour obtenir de l'exception:
OriginalL'auteur Joanna Derks
J'ai été faire cette même erreur et suivi de mes HttpClient a l'expiration du délai. Le délai d'attente par défaut est de 100 secondes. J'ai ajouté les lignes suivantes à la créer des HttpClient.
OriginalL'auteur Ron
Pas de façon synchrone, la deuxième tâche sera également exécutée async mais enchaînés à la première tâche, donc seulement après la première tâche exécutée.
Semble être la première tâche - PostAsync a été exécuté avec l'erreur. Essayez d'attraper TPL agrégé d'exceptions et de trouver plus de détails dans le centre d'exceptions collection de
AggregateException
Par exemple, comme ici ou abonnez-vous à
TaskScheduler.UnobservedTaskException
et journal il tous vos exceptionsOriginalL'auteur Regfor