我已经使用.net 4.0编写了vb中的URL监视程序。基本上它设置一个计时器使用htpwebreques/httpwebresponse每60分钟检查一次URL,并在URL关闭时发送电子邮件。但是,每次检查url时,应用程序使用的内存都会不断增加。这显然最终会导致一个问题,因为该应用程序旨在永久监控网站的可用性,并且监控机器最终将耗尽资源。URL监视器不断增加内存使用量
下面是我的CheckURL例程的代码。任何建议非常感谢,提前感谢。
Private Sub checkURL()
Timer1.Stop()
Dim wReq As HttpWebRequest
Dim wResp As HttpWebResponse ' WebResponse
wReq = HttpWebRequest.Create(url)
wReq.Method = "HEAD"
Try
wResp = wReq.GetResponse()
If wResp.StatusCode = 200 Then
txtResponse.Text = wResp.StatusCode & ": " & wResp.StatusDescription & vbNewLine & "The " & siteName & " is up"
'Only send success results if specified
If sendOnFailure = False Then
sendResults = True
End If
Else txtResponse.Text = "There may be a problem with the " & siteName & vbNewLine & "Please verify manually that it is operational." & vbNewLine & "The response received was:" & vbNewLine & "Status Code: " & wResp.StatusCode & " - " & wResp.StatusDescription
sendResults = True
End If
wResp.Close()
wResp = Nothing
wReq = Nothing
Catch ex As Exception
txtResponse.Text = "There may be a problem with the " & siteName & vbNewLine & "The error returned was:" & vbNewLine & ex.ToString
sendResults = True
End Try
txtLastCheck.Text = Now.ToString("d MMM yyyy HH:mm")
setNextCheck()
End Sub
在'Using'语句中换行请求,因为这样可以确保您的对象被丢弃。现在他们没有被处置。 – Codexer
@Zaggler谢谢,但我试图添加一个使用语句,但得到错误“变量'wRes'隐藏一个变量在一个封闭的块和StatusCode不是WebResponse的成员” – omicron