AggregateException est jeter en attendant PostAsJsonAsync
AggregateException est jeter en attendant API post pour terminer comment je pourrais résoudre ce problème?
Mon appel API est similaire, comme ce
using (var httpClient = new HttpClient())
{
httpClient.BaseAddress = new Uri(workflowUrl);
var task = httpClient.PostAsJsonAsync("api/apiname/execute/", executeModel)
.ContinueWith(x => x.Result.Content.ReadAsAsync<bool>().Result);
Task continuation = task.ContinueWith(x =>
{
bool response = x.Result;
});
continuation.Wait();
}
Je suis arriver Exception indiquée ci-dessous tout en waitng POST pour terminer.
System.AggregateException was caught
Message=One or more errors occurred.
Source=mscorlib
StackTrace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at
InnerException: System.AggregateException
Message=One or more errors occurred.
Source=mscorlib
StackTrace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.get_Result()
at
at System.Threading.Tasks.Task`1.<>c__DisplayClass17.<ContinueWith>b__16(Object obj)
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
InnerException: System.AggregateException
Message=One or more errors occurred.
Source=mscorlib
StackTrace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.get_Result()
at WebUI.ListController.<ListRepeater_ItemCommand>b__f(Task`1 x) in PostAsJsonAsync:line 741
at System.Threading.Tasks.Task`1.<>c__DisplayClass1a`1.<ContinueWith>b__19()
at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
InnerException: System.Threading.Tasks.TaskCanceledException
Message=A task was canceled.
InnerException:
Êtes-vous réellement obtenir de l'exception avec ce code? Parce qu'on dirait que vous êtes à l'aide de l'annulation de votre code réel et je ne vois pas cela ici.
J'ai eu le même problème et n'a pas pu résoudre. J'ai fini à l'aide d'un HttpWebRequest pour éviter ce problème. La demande n'était pas le timing. J'ai débogué le service web et également regardé les demandes de sortir et de revenir avec un violon, un retour OK / code d'état 200. Les données post était très petite.
J'ai eu le même problème et n'a pas pu résoudre. J'ai fini à l'aide d'un HttpWebRequest pour éviter ce problème. La demande n'était pas le timing. J'ai débogué le service web et également regardé les demandes de sortir et de revenir avec un violon, un retour OK / code d'état 200. Les données post était très petite.
OriginalL'auteur niknowj | 2013-12-06
Vous devez vous connecter pour publier un commentaire.
Êtes-vous poster un gros morceau de données ? Une fois j'ai eu un problème similaire. Je crois que le problème sous-jacent est occasionnel délai d'attente en raison de problèmes de bande passante. J'ai essayé d'obtenir la tâche et manuellement en attente puis de vérifier
.IsFaulted
et.IsCancelled
mais la.Result
jetteAggregateException
/TaskCancelledException
.Peut-être que vous devriez essayer d'augmenter HttpClient.Délai d'attente de la propriété, qui est de 100 sec par défaut ?
OriginalL'auteur Tomasz Jaskuλa