Я создал простую программу, которая берет список Excel, содержащий набор имен хостов сервера и пингует каждое из них, возвращая результаты в консоли, сколько хостов находится в сети.
Я используюблок try / catch для предотвращения сбоя приложения, когда имя хоста неизвестно (при ошибке подключения).
Теперь я ищу решение пропустить запрос ping при ошибке подключения, поэтому программа продолжает пинговатьследующее имя хоста в строке, и программа может завершиться быстрее, не дожидаясь возникновения исключения.
Это код, который я сейчас использую.
foreach (var server in serverList)
{
try
{
var reply = pingSender.Send(server, 1000);
//if server is reachable
if (reply.Status == IPStatus.Success)
{
//add server to new excel and display it as online
onlineList.Cells[serverCount, 1] = server + " is online";
//increase counters
serverCount++;
onlineCount++;
}
else
{
//add server to new excel and display it as offline
onlineList.Cells[serverCount, 2] = server + " is offline or unreachable.";
serverCount++;
}
}
catch (Exception)
{
//if in any case the destination is unknown and prevent application from crashing
onlineList.Cells[serverCount, 2] = server + " is offline or unreachable.";
serverCount++;
}
}