- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 System.Net.Http.HttpClient 从 Web API 调用 PostAsync 方法。我收到以下错误:
System.AggregateException "A task was canceled."
任务:
Id = 1, Status = System.Threading.Tasks.TaskStatus.Canceled, Method = "{null}", Result = "{Not yet computed}"
代码:
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();
});
}
我假设 responseTask 会强制方法同步运行?
这是一个 WPF 应用程序,而不是 ASP.NET。
最佳答案
我遇到了同样的错误,并追踪到我的 HttpClient 超时。默认超时为 100 秒。我将以下内容添加到 HttpClient 的创建中。
HttpClient httpClient = new HttpClient();
httpClient.Timeout = TimeSpan.FromMinutes(10);
关于c# - Web Api 的 PostAsync HttpClient 错误 - System.AggregateException "A task was canceled.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16517504/
我一直在查看我们的一个应用程序中的一些代码,如下所示: catch (AggregateException ae) { this._logger.Log(ae.Flatten().InnerE
当我尝试在启动API后立即从Mongo获取项目时,收到以下错误:。我正在尝试获取的项(称为App)具有下一个结构:。而“无法”序列化的属性是:。App的“field”属性基本上是FieldStruct
我应该如何收集异常并将它们放入 AggregateException重新扔? 对于我的特定代码,我有一个循环,并且将从代码的一部分抛出零个或多个异常。我希望在 AggregateException 出
我可能遗漏了一个非常明显的事实,但我很难理解 AggregatedExceptions 的必要性。 我知道自从 async/await 以来,我们不必再为 AggregatedExceptions 而
我正在尝试抛出并捕获 AggregateException。我在 C# 上并没有经常使用异常,但我发现的行为有点令人惊讶。 我的代码是: var numbers = Enumerable.Range(
由于我的 IEnumerable 状态不一致,我似乎遇到了线程错误.具体来说,List . 这是我的工作流程: List IDs = getIDs(); RunTask(IDs); RunTask(I
需要优雅地处理 AggregateExceptions。这种方式是否正确? try { var message = await _queue.ReceiveAsync(); // re
在等待错误任务(设置了异常的任务)时,await 将重新抛出存储的异常。如果存储的异常是 AggregateException,它将重新抛出第一个并丢弃其余的。 我们如何使用await,同时抛出原始的
我正在使用任务并行库来设置任务链,如下所示,但我得到了一个我不理解的奇怪的异常处理体验。 我使用 Parallel.ForEach 并调用一个 Action,其中包括对以下方法的调用。这个 Paral
在具有 59sec 的 CancellationToken 的任务中执行数据库查询。如果任务被取消,则抛出 TaskCanceledException。但此异常作为 AggregateExceptio
我正在调用一个 WCF 服务,它在某些情况下会返回一个 AggregateException,以及通过调用发生的所有问题 另一方面,我收到 FaultException(这是有道理的,因为 WCF 只
我有如下代码来捕获使用 TaskFactory 和 Task.Run 创建的任务抛出的异常。如果我使用 TaskFactory,则无需使用 Task.WaitAll 方法即可检查 Continued
我正在使用一个提供以 ...Async 结尾的方法的库并返回 Task .我将在命令行应用程序 中使用它们。所以我需要经常同步调用它们。 C#当然不允许在Main中调用这些方法方法,因为您不能使用 a
这个问题在这里已经有了答案: Git pull / push - unable to access HTTPS, SSL routines seem to be down (19 个回答) 关闭 4
我有一个关于 .NET 任务并行库的错误处理的问题。在哪些情况下会出现 AggregateException持有超过 1 个内部异常?我知道这可能发生在前任身上。打电话时Task.WaitAll(an
文档 on MSDN对于 AggregateException.Flatten 方法,说明如下:“如果任何内部异常本身就是 AggregateException 的实例,则此方法将递归地展平所有这些异
执行这段代码后: try { DoSomething(); } catch (TaskCanceledException e) { DealWithCancelledTaskExcep
我有一个问题,关于在使用 WhenAll() 时何时可以安全地处理聚合异常。看起来自然的位置应该在 catch block 内,因为如果 catch block 从不触发,就意味着没有异常需要处理。但
在等待 API 发布完成时抛出 AggregateException 我该如何解决这个问题? 我的API调用类似这样 using (var httpClient = new HttpClient())
ReSharper 向我发出 CoVariantConversion 警告,因此我决定用谷歌搜索并查看如何修复它。我遇到了这段代码: // ReSharper disable CoVariantAr
我是一名优秀的程序员,十分优秀!