我对c#/.net开发有一点新手,但是我已经在我公司中组建了一小部分资产的股票跟踪应用程序.我还设置了连接到sql 2000的数据库.
当网络连接可用时,它目前的工作非常出色,但是当我远离连接时,我希望将其扩展使用.
首先,我需要知道是否有可用的连接.所以我把它放在一起:
private int availableNetAdapters() { int nicCount = 0; foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) { if (nic.OperationalStatus == OperationalStatus.Up) { nicCount++; } } return nicCount; }
似乎工作,但是我必须测试“> 1”作为“MS TCP环回接口”,总是检测不管其他适配器状态.
有没有更好/更容易的方式检查连接?
G
解决方法
System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()
您还可以使用该类中的NetworkAvailabilityChanged和NetworkAddressChanged事件来监视IP地址和网络可用性更改.
编辑:请注意,此方法检查计算机上可能的所有可用网络接口(无线,LAN等).如果他们中的任何一个连接,它将返回true.