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);
}
}