相关疑难解决方法(0)

C# 同时运行多个异步任务

我对异步任务有点陌生。

我有一个函数,可以获取学生 ID 并使用所需的 ID 从特定大学网站上抓取数据。

    private static HttpClient client = new HttpClient();
    public static async Task<Student> ParseAsync(string departmentLink, int id, CancellationToken ct)
    {
        string website = string.Format(departmentLink, id);
        try
        {
            string data;
            var stream = await client.GetAsync(website, ct);
            using (var reader = new StreamReader(await stream.Content.ReadAsStreamAsync(), Encoding.GetEncoding("windows-1256")))
                data = reader.ReadToEnd();

            //Parse data here and return Student.
        } catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
Run Code Online (Sandbox Code Playgroud)

并且它工作正常。有时虽然我需要为很多学生运行这个函数,所以我使用以下命令

        for(int i = ids.first; i <= ids.last; i++)
        {
            tasks[i - ids.first] = ParseStudentData.ParseAsync(entity.Link, i, …
Run Code Online (Sandbox Code Playgroud)

c# parsing asynchronous httpclient task

1
推荐指数
1
解决办法
1879
查看次数

标签 统计

asynchronous ×1

c# ×1

httpclient ×1

parsing ×1

task ×1