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
|