我目前正在使用以下代码创建网络请求:
Dim myRequest As WebRequest = WebRequest.Create("http://foo.com/bar")
Dim myResponse As WebResponse = myRequest.GetResponse()
问题是这会“锁定”程序直到请求完成(如果请求永远不会完成,程序将会挂起)。如何更改此类内容以异步执行,以便在Web请求完成时完成其他任务?
答案 0 :(得分:3)
您将使用BeginGetResponse添加AsyncCallback,它基本上指向代码中的某些其他方法,这些方法将在WebRequest返回时调用。有一个很好的sample here。
答案 1 :(得分:0)
myRequest.BeginGetResponse()
您还需要在请求完成时调用EndGetReponse()(通过WaitHandle,回调或轮询确定)。