Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Listing 23-15 extracted from chapter ASP.NET 2


Listing 23-14<     > Listing 23-16


This listing can be compiled with the command line:
csc.exe /out:Default.aspx.dll /target:library Example_23_15_to_rename_Default.aspx.cs
Errors: 2 Warnings: 0


Example_23_15_to_rename_Default.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Threading;
public partial class _Default : System.Web.UI.Page {
   private SqlCommand cmd;
   private SqlConnection cnx;
   protected void Page_Load(object sender, EventArgs e) {
      Response.Write("PageLoad thread:"+ 
                     Thread.CurrentThread.ManagedThreadId +"<br/>");
      PageAsyncTask task = new PageAsyncTask( BeginInvoke, EndInvoke, 
                                              EndTimeOutInvoke, null);
      Page.RegisterAsyncTask(task);
   }
   public IAsyncResult BeginInvoke( object sender, 
                                    EventArgs e, 
                                    AsyncCallback callBack, 
                                    object extraData) {
      Response.Write( "BeginInvoke thread:" + 
                      Thread.CurrentThread.ManagedThreadId + "<br/>");
      cnx = new SqlConnection"async=true ; server = localhost ; " +
                               "uid=sa ; pwd =; database = ORGANIZATION");
      cmd = new SqlCommand"SELECT * FROM EMPLOYEES", cnx );
      cnx.Open();
      return cmd.BeginExecuteReader( callBack, extraData, 
                                     CommandBehavior.CloseConnection);
   }
   public void EndInvoke( IAsyncResult result ) {
      Response.Write( "EndInvoke thread:" + 
                      Thread.CurrentThread.ManagedThreadId + "<br/>");
      SqlDataReader rdr = cmd.EndExecuteReader(result);
      if (rdr != null && rdr.HasRows) {
         MyGridView.DataSource = rdr;
         MyGridView.DataBind();
      }
      rdr.Close();
   }
   public void EndTimeOutInvoke( IAsyncResult result ) {
      if (cnx != null && cnx.State != ConnectionState.Closed)
         cnx.Close();
      Response.Write("TimeOut");
      Response.End();
   }
   protected override void OnPreRender( EventArgs e ) {
      Response.Write( "OnPreRender thread:" +
                      Thread.CurrentThread.ManagedThreadId + "<br/>");
   }
   protected override void OnPreRenderComplete( EventArgs e ) {
      Response.Write( "OnPreRenderComplete thread:" +
                      Thread.CurrentThread.ManagedThreadId + "<br/>");
   }
}	
Copyright Patrick Smacchia 2006 2007