相关疑难解决方法(0)

HttpClient - 任务被取消了?

当有一个或两个任务时它可以正常工作但是当我们列出了多个任务时会抛出错误"任务被取消".

在此输入图像描述

List<Task> allTasks = new List<Task>();
allTasks.Add(....);
allTasks.Add(....);
Task.WaitAll(allTasks.ToArray(), configuration.CancellationToken);


private static Task<T> HttpClientSendAsync<T>(string url, object data, HttpMethod method, string contentType, CancellationToken token)
{
    HttpRequestMessage httpRequestMessage = new HttpRequestMessage(method, url);
    HttpClient httpClient = new HttpClient();
    httpClient.Timeout = new TimeSpan(Constants.TimeOut);

    if (data != null)
    {
        byte[] byteArray = Encoding.ASCII.GetBytes(Helper.ToJSON(data));
        MemoryStream memoryStream = new MemoryStream(byteArray);
        httpRequestMessage.Content = new StringContent(new StreamReader(memoryStream).ReadToEnd(), Encoding.UTF8, contentType);
    }

    return httpClient.SendAsync(httpRequestMessage).ContinueWith(task =>
    {
        var response = task.Result;
        return response.Content.ReadAsStringAsync().ContinueWith(stringTask =>
        {
            var json = stringTask.Result;
            return Helper.FromJSON<T>(json);
        }); …
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library dotnet-httpclient

170
推荐指数
6
解决办法
13万
查看次数

使用.NET 4.6.2中的HttpClientFactory

我有一个.NET 4.6.2控制台应用程序(使用Simple Injector).我需要调用HTTP服务.直接使用HttpClient遇到问题,我正在尝试使用HttpClientFactory(https://github.com/aspnet/HttpClientFactory).

项目/库是.NET Standard 2.0所以它应该?? 在.NET 4.6.2中工作,但它使用像IServiceCollection这样的东西,它只在Core中.

所以我的问题是我可以在非核心应用程序中使用HttpClientFactory.

dotnet-httpclient .net-core

20
推荐指数
2
解决办法
9495
查看次数

在 .Net Core 2.1 类库中使用 HttpClientFactory

我有一个 ASP.NET Core 2.1 项目,它使用基于 .Net Core 2.1 构建的类库。在 .Net Core 2.1 类库中,我需要创建几个 REST 类,为此我使用了 HttpClient 类。

我想利用 HttpClientFactory 的优势来创建和使用 HttpClient 实例。

如何在 .Net Core 2.1 类库中使用 HttpClientFactory。

httpclientfactory

8
推荐指数
0
解决办法
1773
查看次数