所以,我有一个拥有 600 多台设备的网站。我正在尝试使用标准的 .NET ping 类一一对它们进行 ping 操作。出于某种原因,这个线程正在崩溃 - 它只是在几天后停止响应。它所做的只是 ping 网络上的设备。我们使用的是 Microsoft Windows Server 2008 R2。.NET ping 类有什么问题吗?我似乎也遇到了内存泄漏,我猜这是由于 ping 造成的。我应该只编写一个 win32 ping dll 来为我完成这项工作,还是我在 .NET 上做错了什么?
private void PingDevice(out bool state, string IP)
{
PingReply pingReply;
System.Net.NetworkInformation.Ping pingSender = null;
state = false;
try
{
pingSender = new System.Net.NetworkInformation.Ping();
pingReply = pingSender.Send(IP, 4000);
state = (pingReply.Status == IPStatus.Success); // comms is on/off
}
catch (Exception ex)
{
PingGlobals.driverThread.LogIt("$E Pinging Devices:" + ex.Message + ", " + IP);
}
finally
{
if (pingSender != null)
{
((IDisposable)pingSender).Dispose();
}
}
}