【发布时间】:2012-01-12 18:20:32
【问题描述】:
我将目标框架从 3.5 更改为 4.0,没有其他更改。一个简单的 ping 与 3.5 一起工作,现在与 4.0 结果给出 Canceled=True。有什么想法可能导致这种情况吗?
Public Sub StartInternetConnectionCheckEvery(ByVal seconds As Integer)
Dim timer As New Timer()
timer.Interval = seconds * 1000
AddHandler timer.Tick, AddressOf CheckIsConnectedToInternet
timer.Start()
End Sub
Private Sub CheckIsConnectedToInternetByTimer(ByVal sender As Object, ByVal e As System.EventArgs)
CheckIsConnectedToInternet()
End Sub
Public Sub CheckIsConnectedToInternet()
Using ping As New System.Net.NetworkInformation.Ping()
Dim address As String = "www.google.com"
ping.SendAsync(address, Nothing)
AddHandler ping.PingCompleted, AddressOf OnPingResult
End Using
End Sub
Private Sub OnPingResult(ByVal sender As Object, ByVal e As PingCompletedEventArgs)
If e.Cancelled Then
Trace.WriteLine("InternetHelper: Ping Cancelled")
Return
End If
IsConnectedToInternet = (e.Reply.Status = IPStatus.Success)
RaiseEvent InternetPingResult(IsConnectedToInternet)
End Sub
【问题讨论】:
-
慢慢地,但可以肯定的是,越来越多的大型网站不响应 ping。这不是代码中的错误,而是需要考虑的问题。