Visual Basic Improvements in Visual Studio 11: Listing 2.
Using Async and Await with the asynchronous GetAsync method.
Private Async Sub UpdateWebControlAsync(webPageURL As String, wc As WebBrowser)
'Simple method to display web pages on a windows form
'Note Await inside Try block
Try
wc.DocumentText = ""
'Using asynchrounous GetAsync method rather than synchronous Get() method
'Execution is suspended by Await modifier until GetAsync() returns
Dim response = Await New System.Net.Http.HttpClient().GetAsync(New System.Uri(webPageURL))
'Asynch method has completed and execution resumed
Dim pageHTML = response.Content.ReadAsString
wc.Document.Write(pageHTML)
Catch ex As Exception
Dim msg = "Exception: {0}" & vbCrLf & vbCrLf & "{1}"
MessageBox.Show(String.Format(msg, ex.Message, ex.InnerException.Message))
End Try
Return
End Sub
About the Author
Joe Kunk is a Microsoft MVP in Visual Basic, three-time president of the Greater Lansing User Group for .NET, and developer for Dart Container Corporation of Mason, Michigan. He's been developing software for over 30 years and has worked in the education, government, financial and manufacturing industries. Kunk's co-authored the book "Professional DevExpress ASP.NET Controls" (Wrox Programmer to Programmer, 2009). He can be reached via email at [email protected].