我有一个使用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 Framework(完整)
答案 0 :(得分:0)
您也可以尝试修改hosts文件(假设您使用的是主机名而不是IP地址),但这似乎是一种相当难看的方法...... - Paul B. Jun 9 at 15:02
Paul B的回答为我做了。我正在测试Win7和XP,但在使用主机文件方法时XP似乎很挑剔。在Win7上正常工作。
保罗就是男人。