如何在VB.NET中调用异步Web请求?
时间:2020-03-06 14:40:26 来源:igfitidea点击:
我目前正在使用以下代码创建网络请求:
Dim myRequest As WebRequest = WebRequest.Create("http://foo.com/bar") Dim myResponse As WebResponse = myRequest.GetResponse()
问题在于,这将"锁定"程序直到请求完成(如果请求从未完成,则程序将挂起)。我们如何更改此类内容以异步执行,以便在Web请求完成时可以完成其他任务?
解决方案
myRequest.BeginGetResponse()
请求完成时(通过WaitHandle,回调或者轮询确定),我们还需要调用EndGetReponse()。
我们将使用BeginGetResponse添加AsyncCallback,它基本上指向代码中的其他方法,该方法将在WebRequest返回时被调用。这里有一个很好的例子。
http://www.sitepoint.com/forums/showpost.php?p=3753215