温馨提示×

C# HttpRequestMessage是否支持批处理

c#
小樊
83
2024-08-05 13:30:12
栏目: 编程语言

C# 的 HttpRequestMessage 类本身并不直接支持批处理。要实现批处理,您可以自己编写代码来发送多个请求,并将它们一起发送到服务器。您可以使用 HttpClient 类来发送多个请求并处理响应。您可以将多个 HttpRequestMessage 对象添加到一个列表中,然后使用 HttpClient.SendAsync 方法发送这些请求,并等待所有请求完成后处理响应。以下是一个简单的示例:

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var client = new HttpClient();
        
        var requestList = new List<HttpRequestMessage>
        {
            new HttpRequestMessage(HttpMethod.Get, "https://jsonplaceholder.typicode.com/posts/1"),
            new HttpRequestMessage(HttpMethod.Get, "https://jsonplaceholder.typicode.com/posts/2"),
            new HttpRequestMessage(HttpMethod.Get, "https://jsonplaceholder.typicode.com/posts/3")
        };

        var responses = new List<HttpResponseMessage>();

        foreach (var request in requestList)
        {
            var response = await client.SendAsync(request);
            responses.Add(response);
        }

        foreach (var response in responses)
        {
            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}

在上面的示例中,我们创建了一个包含三个 GET 请求的列表,并使用 HttpClient 类发送这些请求。然后我们等待所有请求完成并处理每个请求的响应。您可以根据需要扩展此示例来支持更多的请求。

0