在我的第一页中,我在页面加载事件上启动了一个异步 webrequest。
Private Sub LoadRecent()
Dim request As HttpWebRequest = HttpWebRequest.Create("")
request.Method = "GET"
request.BeginGetResponse(New AsyncCallback(AddressOf ResponseRecent), request)
End Sub
Private Sub ResponseRecent(ByVal asynchronousResult As IAsyncResult)
Dim webRequest As HttpWebRequest = DirectCast(asynchronousResult.AsyncState, HttpWebRequest)
Dim webResponse As HttpWebResponse = webRequest.EndGetResponse(asynchronousResult)
Dim stream As New StreamReader(webResponse.GetResponseStream())
Dim responseString = stream.ReadToEnd
End Sub
使用此代码,Loadrecent()
在加载页面上成功启动。假设我在第一页中有一个按钮,可以将我带到另一页。如果我按下后退按钮,我会再次被带到第一页,并且Loadrecent()
也会被触发。问题是 webrequest 的响应与它第一次被触发时的响应相同(我可以告诉你这是不可能的)。就像我应该在完成异步 webrequest 之后处理它一样。