2015-09-02 3 views
0

У меня около 40 значений в моей базе данных. Я проверяю каждый URL, если он онлайн или офлайн. Это функция, которую я использую: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

Может быть, вы можете проверить только для заголовков, с помощью метода ГОЛОВА:

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

Но это только даст WebException, если URL-адрес не подключен в течение периода ожидания. Я имею в виду, вы можете получить исключение для действительного URL. – Caveman

Смежные вопросы