Inherits System.Web.UI.Page
Private _connection As SqlConnection
Private _command As SqlCommand
Private _reader As SqlDataReader
Function BeginAsyncOperation(ByVal sender As Object, ByVal e As EventArgs, ByVal cb As AsyncCallback, ByVal state As Object) As IAsyncResult
Dim connectionstring As String = "server=localhost;uid=sa;pwd=1234;database=Pubs;Asynchronous Processing=true;"
_connection = New SqlConnection(connectionstring)
_connection.Open()
_command = New SqlCommand("select title_id,title,price from titles", _connection)
Return _command.BeginExecuteReader(cb, state)
End Function 'BeginAsyncOperation
Sub EndAsyncOperation(ByVal ar As IAsyncResult)
_reader = _command.EndExecuteReader(ar)
End Sub 'EndAsyncOperation
Private Sub Page_PreRenderComplete(ByVal sender As Object, ByVal e As EventArgs)
While _reader.Read()
_reader.Read()
Me.Label1.Text = Me.Label1.Text & _reader.GetValue(1) + "<br>"
End While
End Sub 'Page_PreRenderComplete
Public Overrides Sub Dispose()
If Not (_connection Is Nothing) Then
_connection.Close()
End If
MyBase.Dispose()
End Sub 'Dispose
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
AddHandler Me.PreRenderComplete, New EventHandler(AddressOf Page_PreRenderComplete)
Page.AddOnPreRenderCompleteAsync(New BeginEventHandler(AddressOf BeginAsyncOperation), New EndEventHandler(AddressOf EndAsyncOperation))
End If
End Sub
End Class