2011-10-01 30 views
1

我認爲這是給你一個簡單的問題,但我不明白webRequests的其他情況,所以我在這裏問:VB.NET:如何使一個WebRequest的異步

我怎樣才能讓這個異步的WebRequest ?

Dim sBuffer As String 
Dim oRequest As WebRequest = WebRequest.Create(url) 
oRequest.Method = "GET" 
Dim oResponse As WebResponse = oRequest.GetResponse() 
Dim oStream As New StreamReader(oResponse.GetResponseStream()) 
sBuffer = oStream.ReadToEnd() 
oStream.Close() 
oResponse.Close() 
Return sBuffer 

謝謝你的幫忙!

問候,弗洛

回答

2

用一個簡單的返回值的函數不能sinmply做異步的,你需要找到處理該回來的數據的另一種方法。我建議使用System.Net.WebClient,這對你上面做的事情來說是一個更簡單的包裝,這個類的異步操作非常簡單。

Dim wc As New WebClient 
AddHandler wc.DownloadStringCompleted, AddressOf DownloadCompletedHander 
wc.DownloadStringAsync(url) 

...

Public Shared Sub DownloadCompletedHander(ByVal sender As Object, ByVal e As DownloadStringCompletedEventArgs) 
    If e.Cancelled = False AndAlso e.Error Is Nothing Then 
     Dim myString As String = CStr(e.Result) 
     'Do stuff with data 
    End If 

End Sub 

我真的不說話VB.net,但我認爲直接從谷歌上搜索一些

+0

你怎麼可以把POST和使用它的參數,多數民衆贊成? – gumuruh