Ответы пользователя по тегу Парсинг
  • Как использовать Task для парсинга каталога в C#?

    @Ascar
    static void Main(string[] args)
            {       
                ExampleMyltiTask();
                Console.ReadLine();
            }
    
           static HttpClient http = new HttpClient();
    
            static async Task ExampleMyltiTask()
            {
    
                int pages = 100;
                while (pages-- > 0)
                {
                    var tasks = new List<Task>();
    
                    int count = 10;
    
                    while (count-- > 0)
                    {
                        var task = Task.Run(async () =>
                        {
                            try
                            {
                                var item = await http.GetStringAsync("item url");
                                //парсинг item
                                // асинхронная запись в бд, например await context.SaveChangesAsync(); 
                                Console.Write("записано" + Environment.NewLine);
                            }
                            catch
                            {
                                //
                                Console.Write("ошибка" + Environment.NewLine);
                            }
                        });
    
                        tasks.Add(task);
                    }
    
                   await Task.WhenAll(tasks);
    
                    //переход на след страницу             
                    Console.Write("следующая страница" + Environment.NewLine);
                }
         }
    Ответ написан