我目前使用下面的代碼來創建一個Web請求:如何在VB.NET中調用異步Web請求?
Dim myRequest As WebRequest = WebRequest.Create("http://foo.com/bar")
Dim myResponse As WebResponse = myRequest.GetResponse()
的問題是,這種「鎖定」了程序,直到請求完成(如果請求永遠不會完成程序將被掛起)。你如何改變這樣的事情來異步執行,以便在Web請求完成時完成其他任務?
我目前使用下面的代碼來創建一個Web請求:如何在VB.NET中調用異步Web請求?
Dim myRequest As WebRequest = WebRequest.Create("http://foo.com/bar")
Dim myResponse As WebResponse = myRequest.GetResponse()
的問題是,這種「鎖定」了程序,直到請求完成(如果請求永遠不會完成程序將被掛起)。你如何改變這樣的事情來異步執行,以便在Web請求完成時完成其他任務?
您將使用BeginGetResponse添加一個AsyncCallback,它基本上指向代碼中的其他一些方法,這些方法將在WebRequest返回時調用。有一個很好的sample here。
myRequest.BeginGetResponse()
您還需要調用EndGetReponse()當請求完成(通過WaitHandle中,回調或輪詢確定)。