你如何在VB.NET中调用异步Web请求?

时间:2008-09-24 16:43:06

标签: vb.net web-services

我目前正在使用以下代码创建网络请求:

Dim myRequest As WebRequest = WebRequest.Create("http://foo.com/bar")
Dim myResponse As WebResponse = myRequest.GetResponse()

问题是这会“锁定”程序直到请求完成(如果请求永远不会完成,程序将会挂起)。如何更改此类内容以异步执行,以便在Web请求完成时完成其他任务?

2 个答案:

答案 0 :(得分:3)

您将使用BeginGetResponse添加AsyncCallback,它基本上指向代码中的某些其他方法,这些方法将在WebRequest返回时调用。有一个很好的sample here

http://www.sitepoint.com/forums/showpost.php?p=3753215

答案 1 :(得分:0)

myRequest.BeginGetResponse()

您还需要在请求完成时调用EndGetReponse()(通过WaitHandle,回调或轮询确定)。