0

我有一个类用于My.Computer.Network.Ping获取有关 IP 地址或主机名是否可访问的布尔值。

但是,当我测试该类时,我想禁用 ping,以便在测试期间每当我运行My.Computer.Network.Ping它时,它总是会返回false或抛出某种异常。

我尝试了以下方法,但仍然收到true返回(意思是禁用 ping 的尝试无效)

Dim restricited As New System.Net.NetworkInformation.NetworkInformationPermission(System.Security.Permissions.PermissionState.None)
    Dim mySocketPermission1 As New SocketPermission(PermissionState.None)
    Dim myWebPermission As New WebPermission(PermissionState.None)
    myWebPermission.Demand()
    mySocketPermission1.Demand()
    Dim ping As New PingOptions()
    ping.DontFragment = True
    ping.Ttl = 1

*attempt to ping here*
*but doesn't return the "ping failed" I wanted*

有任何想法吗?编辑:'我使用 VS2010 和 .Net 4.0 框架(完整)

4

1 回答 1

0

您也可以尝试修改主机文件(假设您使用的是主机名而不是 IP 地址),但这似乎是一种相当丑陋的方法...... – Paul B. Jun 9 at 15:02

保罗 B 的回答为我做了。我正在Win7和XP上进行测试,但是XP在使用主机文件方法时似乎很挑剔。在 Win7 上运行良好。

保罗就是那个人。

于 2012-06-27T11:04:48.347 回答