检查互联网连接问题

时间:2014-02-07 18:02:05

标签: vb.net forms webclient

我正在制作一个需要互联网连接的简单应用程序。但问题是当我启动我的应用程序关闭我的互联网连接时,我得到一个Web异常。
所以我创建了一个新表单并添加/设置该表单作为应用程序的启动形式。
我已经在启动表单的加载中添加了这段代码:

 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'On form load i'm checking if the computer is connected to internet.
        If My.Computer.Network.IsAvailable Then

            frmMain.Show() 'shows my application's main form
            Me.Hide()
        Else
            'if no connection then

            Dim result = MsgBox("Failed to establish connection!") ' show an error message
            If result = DialogResult.OK Then 'if button okay is pressed
                Application.Exit() 'exit the application!
            End If
        End If

    End Sub

但问题是它根本没有做任何事情。仍然给我一个异常错误! 我想做的很简单。
1.在启动我的应用程序时,它会检查互联网连接是否正常。
2。如果在检查,互联网连接不工作:给出错误消息,如果工作,继续下一个表格(应用程序的主要形式)

注意:我的应用程序的主要形式使用webclient方法从网络服务器下载文本文件,即使我使用这个新表单作为启动,我也会收到Web异常错误。我没有在新表单中添加任何代码,只是Form_Load

中的上述代码

对此有何帮助?

1 个答案:

答案 0 :(得分:2)

Network.IsAvailable只检查本地网络而不是Internet,而是使用此方法。但是,在这个检查和你使用它的那一刻之间,连接仍然可能会断开,因此必须尝试使用​​try / catch。

Private Declare Function InternetGetConnectedState Lib "wininet.dll" _
        (ByRef lpdwFlags As Int32, ByVal dwReserved As Int32) As Boolean

Public Shared Function IsInternetAvailable() As Boolean
   Try
      Dim flags as Integer 
      return InternetGetConnectedState(flags, 0)
   Catch
      return False
   End Try
End Function

Private Sub Form1_Load(....)
    If Form1.IsInternetAvailable Then
      ......

但是我不确定您的问题是否是由于缺少Internet连接可用性引起的。您应该在尝试下载文件的位置显示代码,或者至少报告确切的错误消息