Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- List<string> addresses = new List<string>()
- {
- "google.ru",
- "yandex.ru",
- "rambler.ru",
- "bing.com",
- "ridus.ru",
- "habrahabr.ru",
- "geektimes.ru",
- "mail.ru",
- "2ch.hk",
- "iichan.hk",
- "dobrochan.ru",
- "youtube.com",
- "postnauka.ru",
- "nplus1.ru",
- "elementy.ru",
- "membrana.ru",
- "antropogenez.ru",
- "histrf.ru",
- "iddqd.ru"
- };
- //Тест Пинга
- //Ping pinger = new Ping();
- //var tasks = addresses.Select(async address =>
- //{
- // bool success = false;
- // PingReply reply = null;
- // try
- // {
- // // Пока одну задачу не завершит, остальные выдаёт с ошибкой "задача уже исполняется"
- // //reply = await pinger.SendPingAsync(address);
- // reply = await new Ping().SendPingAsync(address); // а так пингует всё
- // success = true;
- // }
- // catch (Exception e)
- // {
- // success = false;
- // }
- // Console.WriteLine(string.Concat(address, " ", (success) ? reply.Status.ToString() : "fail"));
- //}).ToArray();
- //Task.WhenAll(tasks).Wait();
- //Тест HttpClient
- addresses = addresses.Select(x => "http://" + x).ToList();
- HttpClient httpClient = new HttpClient();
- var tasks = addresses.Select(async address =>
- {
- bool success = false;
- HttpResponseMessage response = null;
- try
- {
- response = await httpClient.GetAsync(address); // Оба варианта работают одинаково
- //response = await new HttpClient().GetAsync(address); //
- success = true;
- }
- catch (Exception e)
- {
- success = false;
- }
- Console.WriteLine(string.Concat(address, " ", (success) ? response.StatusCode.ToString() : "fail"));
- }).ToArray();
- Task.WhenAll(tasks).Wait();
- Console.WriteLine("задачи завершены");
- Console.ReadKey();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement