대상 프레임 워크가 3.5에서 4.0으로 변경되었습니다. 다른 변경 사항은 없습니다. 4.0과 함께 3.5로 작업 한 간단한 ping은 Canceled = True를 제공합니다. 어떤 아이디어가 이것을 일으킬 수 있습니까?NetworkInformation.Ping(), .NET 4.0에서는 결과가 취소되었지만 (3.5에서는 적용되지 않음)
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
천천히, 그러나 확실하게, 더 많은 대형 사이트가 핑에 응답하지 않습니다을 깰 수있는 방법 그렇지 않으면 좋은 데모. 그것은 당신의 코드에서 오류가 아니라 생각할 것이 있습니다. – dbasnett