2015-09-02 133 views
0

我的數據庫中有大約40個值。我正在檢查每個網址是否在線或離線。這是我正在使用的功能:WebRequest和WebResponse加載非常緩慢vb.net

Public Function CheckAddress(ByVal URL As String) As Boolean 

     Try 
      Dim request As WebRequest = WebRequest.Create(URL) 
      Dim response As WebResponse = request.GetResponse() 
     Catch ex As Exception 
      Return False 
     End Try 
     Return True 
End Function 

但是這需要太多的時間。我們怎樣才能更快地加載頁面?

回答

0

也許你可以檢查只有標題,通過HEAD方法:

Public Function CheckAddress(ByVal URL As String) As Boolean 

    Try 
     Dim request As WebRequest = WebRequest.Create(URL) 
     request.Method = "HEAD" ' only headers! 
     Dim response As WebResponse = request.GetResponse() 
     If response IsNot Nothing AndAlso _ 
      response.Headers IsNot Nothing AndAlso _ 
      response.Headers.count > 0     
      ... 
      ' check if you get anything 
      Return True 
     else 
      Return false 
     end if  
    Catch ex As Exception 
     Return False 
    End Try 

End Function 

這可能會更快。

0

我向WebRequest添加了超時。例如:

Dim request As WebRequest = WebRequest.Create(URL) 
request.Timeout = 50 
+0

但是,如果URL在超時期限內沒有被加入,則只會發出WebException。我的意思是,你可以得到一個有效的URL的例外。 – Caveman