使用C#/ .NET重置網絡連接的最佳方法是什麼?重置網絡連接
我的公司有多臺機器與客戶通過各種方式連接(3G,wifi,以太網電纜),有時(尤其是3G)向Windows報告說,他們仍然連接時,他們不是。我有辦法檢查連接是否真的有效,但我正努力重置它們。這裏有一個問題:
var searcher = new ManagementObjectSearcher("select * from Win32_NetworkAdapter");
var managementObject = searcher.Get();
foreach (ManagementObject obj in managementObject)
{
var name = obj.Properties["Name"].Value.ToString();
Console.WriteLine(name);
obj.InvokeMethod("Disable", null);
obj.InvokeMethod("Enable", null);
}
正如你所看到的,這將通過所有的網絡適配器,並重置它們,我不想這樣做。此外,一些適配器不會接受null參數。
我能得到的NetworkInterface對象我想這一點:
var interfaces = NetworkInterface.GetAllNetworkInterfaces().Where(ni => ni.IsReceiveOnly == false &&
ni.OperationalStatus == OperationalStatus.Up && ni.NetworkInterfaceType != NetworkInterfaceType.Loopback);
但NetworkInterface類好像還沒有開始(),停止(),復位()等方法。我從哪裏出發?
太好了,非常感謝您回報 – owen79
我已經將該博客文章的相關數據導入到此答案中,以防博客帖子在將來不再可用。這是這裏的標準做法,請爲您將來的任何答案做好準備。 – caesay