gpt4 book ai didi

c# - 以编程方式断开网络连接

转载 作者:可可西里 更新时间:2023-11-01 09:01:21 24 4
gpt4 key购买 nike

有没有办法在 .NET 4.0 中以编程方式暂时断开网络连接?

我知道我可以通过这样做获得当前的网络连接状态...

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()

但出于测试目的,我想测试我的应用程序在失去网络连接时的行为(无需实际拔下网络电缆)。

谢谢,克里斯。

最佳答案

您可以使用 WMI 来完成。这是我们用于禁用物理适配器以测试这些类型的场景的一个。

using System.Management;
using System.Linq;

namespace DisableNIC
{
internal static class Program
{
private static void Main()
{
var wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter " +
"WHERE NetConnectionId != null " +
"AND Manufacturer != 'Microsoft' ");
using (var searcher = new ManagementObjectSearcher(wmiQuery))
{
foreach (var item in searcher.Get().OfType<ManagementObject>())
{
if ((string) item["NetConnectionId"] != "Local Area Connection")
continue;

using (item)
{
item.InvokeMethod("Disable", null);
}
}
}
}
}
}

您没有指明操作系统,但这适用于 Windows 7 和 Windows 8。

注意您需要成为管理员才能运行。

关于c# - 以编程方式断开网络连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com