麻烦的异步webrequest

时间:2013-07-21 19:40:49

标签: vb.net windows-phone-7 asynchronous httpwebrequest

在我的第一页中,我在页面加载事件上启动了异步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一样。

2 个答案:

答案 0 :(得分:0)

你试过这个:

WP7 HttpWebRequest without caching

它建议您修改标题。

答案 1 :(得分:0)

这可能只是缓存作为一种解决方法,使您的呼叫唯一设置时间戳或网址末尾的随机数,您将得到不同的结果。