c# - Web Api 的 PostAsync HttpClient 错误 - System.AggregateException "A task was canceled."

标签 c# asp.net-web-api httpclient wcf-web-api asynchttpclient

我正在尝试使用 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/

相关文章:

c# - 使用 HttpClient 发布 JSON 数据

c# - Unity3D 等距瓦片 map 的鼠标事件

c# - 什么会阻止在 Azure 中的两个 Web API 应用程序之间建立连接?

asp.net-mvc - AngularJS + ASP.NET Web API + ASP.NET MVC身份验证

asp.net-mvc-4 - 返回部分 View 的 Web API 方法

java - 你如何在 android 中捕获 UnknownHostException?

java - 关于 REST PUT 动词和其他非基于 CRUD 的操作的一些说明

javascript - 单击按钮后 GridView 上的类属性不起作用

C# 在控制台中右对齐文本

c# - 已建立的连接被主机中的软件中止