title: Simple ASP.NET 4.5 async and await in VB.NET
body: <p>I am trying to get a simple example of async with await working but I don't think it is.  I am thinking this code should take 10 seconds (or just over 10 seconds) to run as each function within the for each loop is supposed to run asynchronously.</p>
  
  <p>This is an asp.net web forms and Async="true" is present in the page declaration.</p>
  
  <pre><code>Inherits System.Web.UI.Page
  
  Protected Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  
      'This needs to execute different asynchronous processes based on the array value
      Dim ItemList(2) As String
  
      ItemList(0) = "A"
      ItemList(1) = "B"
      ItemList(2) = "C"
  
      Dim time_start As DateTime
      Dim time_end As DateTime
  
      Dim r1 As String
      Dim r2 As String
      Dim r3 As String
  
      'capture start time
      time_start = DateTime.Now
  
      'run async processes for each item in array
      For Each element As String In ItemList
          Select Case element
              Case "A"
                  r1 = Await processAsyncA(10) &amp; "  "
              Case "B"
                  r2 = Await processAsyncB(10) &amp; "  "
              Case "C"
                  r3 = Await processAsyncC(10) &amp; "  "
          End Select
      Next
  
      'capture end time
      time_end = DateTime.Now
  
      'display total duration in seconds
      Label1.Text = DateDiff(DateInterval.Second, time_start, time_end)
  
  End Sub
  
  Protected Async Function processAsyncA(ByVal waittime As Integer) As Task(Of String)
      Await Task.Delay(waittime * 1000)
      Return waittime.ToString
  End Function
  
  Protected Async Function processAsyncB(ByVal waittime As Integer) As Task(Of String)
      Await Task.Delay(waittime * 1000)
      Return waittime.ToString
  End Function
  
  Protected Async Function processAsyncC(ByVal waittime As Integer) As Task(Of String)
      Await Task.Delay(waittime * 1000)
      Return waittime.ToString
  End Function
  </code></pre>
  
  <p>Thanks in advance!</p>