Я пытаюсь прочитать ip-адрес от .csv
файла и пинговать эти адреса, используя класс PingAsync. Но я получаю выше исключения в следующей строке.PingException произошло mscorlib.dll
await Task.WhenAll(pingTasks);
мой полный код приведен ниже ниже, посмотрите.
Ping Метод
private static async Task AsyncPingTask(List<string> ipaddress)
{
try
{
Console.WriteLine("Ping Started");
StringBuilder pingStringBuilder = new StringBuilder();
var pingTasks = ipaddress.Select(ip =>
{
using (var ping = new Ping())
{
return ping.SendPingAsync(ip);
}
}).ToList();
Console.WriteLine("Ping Completed");
await Task.WhenAll(pingTasks);
foreach (var pingReply in pingTasks)
{
pingStringBuilder.Append(pingReply.Result.Address);
pingStringBuilder.Append("-->");
pingStringBuilder.Append(pingReply.Result.Status);
pingStringBuilder.Append("-->");
pingStringBuilder.Append(pingReply.Result.RoundtripTime.ToString());
pingStringBuilder.AppendLine();
}
Console.WriteLine(pingStringBuilder.ToString());
pingStringBuilder.Clear();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
throw;
}
}
Основной метод:
public static void Main()
{
List<string> address = new List<string>();
Task t = Task.Run(() =>
{
var reader = new StreamReader(File.OpenRead([email protected]"\address.csv"));
while (!reader.EndOfStream)
{
var lines = reader.ReadLine();
var values = lines.Split(';');
address.Add(values[0]);
}
});
Console.WriteLine("List COunt is {0}",address.Count);
Stopwatch timeSpan=Stopwatch.StartNew();
t.Wait();
AsyncPingTask(address).Wait();
Console.WriteLine(timeSpan.ElapsedMilliseconds);
Console.ReadLine();
}
Если я сделал какую-либо ошибку, пожалуйста, руководство меня.
Что такое сообщение исключение? Вернее, сообщение innerexceptions – BobbyTables
Пожалуйста, по крайней мере, прочитайте [документацию] (https://msdn.microsoft.com/en-us/library/hh193994 (v = vs.110) .aspx): «Исключение было выбрано во время отправка или получение сообщений ICMP. См. внутреннее исключение для конкретного исключения, которое было выбрано ». - так что «PingException» само по себе ничего нам не говорит. Вам нужно отлаживать это дальше самостоятельно. –
Первое исключение исключения типа «System.Net.NetworkInformation.PingException» произошло в mscorlib.dll Дополнительная информация: Исключение произошло во время запроса Ping. –