Essential ASP.NET With Examples in C#

By Robbe D. Morris

Printer Friendly Version

Robbe Morris
Robbe & Melisa Morris
Essential ASP.NET With Examples in C# by Fritz Onion is one of those books I have a love/hate relationship with.  If you are new to ASP or even .NET in general, this book is not for you for a variety of reasons.  While Fritz Onion is clearly very knowledgable and experienced, his writing style reads very much like an accounting textbook and assumes that you already understand certain terminology.
Beginners will no doubt become confused early on in chapter one and put the book down.  So many of today's authors use a conversational writing style that makes the complex seem simple.  Fritz Onion just hasn't mastered that capability in his books yet.  In all fairness, the online promotion for the book clearly mentions the slant towards experienced developers.  So, if you are looking for a good starter book on ASP.NET, this isn't it.

That's it for the hate side of the argument.  If you already own an ASP.NET in 21 days type book and a decent ADO.NET book (Pragmatic ADO.NET is an excellent one), then you'll find Essential ASP.NET With Examples in C# to be well worth your time and money.  Experienced developers will find the level of detail and completeness to be extremely helpful.  What the author lacks in creative writing skills he makes up for ten fold in knowledge and experience that just flows from each page.
Rather than rehash the chapters and their contents (I've listed them below), I'll briefly mention a couple of chapters I found quite insightful.  Chapter 4 HTTP Pipline was rather interesting and even sparked the article Use Custom Http Handlers To Improve Performance in ASP.NET here on  The chapter thoroughly explains how http requests are received and processed by IIS, thru to .NET, and eventually back out to the requestor unlike I've ever seen documented elsewhere.  Prior to reading this book, I was aware of the subject matter discussed in this chapter but never really paid much attention to it.  I think you are likely to find several more chapters with that same effect.
If you aren't a data and page caching guru just yet but always wanted to be, I'd strongly suggest reading Chapter 9 Caching.  Most books briefly cover a few of the different options.  However, Mr. Onion covers each option in great detail and shares why and where the various options can get you the most benefit.
One chapter I expected to see covered extremely well but isn't, ADO.NET.  It is discussed to a certain extent in a couple of chapters but not anywhere near what you'd expect.  Thus, my reference to Pragmatic ADO.NET above or even the C# Developer's Guide to ASP.NET, XML, and ADO.NET.  They are both great books!
Even without ADO.NET covered, I think this book holds more than enough information to justify purchasing it.  As I mentioned earlier, if you are looking for an ASP.NET book that can help take you to the next level, Essential ASP.NET With Examples in C# is your first class ticket.  Are you willing to come aboard?
Table of Contents
1. Architecture.
Fundamentals,ASP 4.0, Compilation vs. Interpretation, System.Web.UI.Page, Code-Behind, Event Handling, Shadow Copying, Directives, The New Intrinsics, Summary
2 Web Forms.
Server-side Controls, ViewState,Events, A Day in the Life of a Page, Web Forms and Code-Behind, Root path reference syntax, HtmlControls, WebControls, List Controls, WebControls versus HtmlControls, Building WebForms with Visual Studio .NET,Summary
3. Configuration.
web.config, Configuration hierarchy, Location element, Element placement, Impact of configuration changes, IIS and web.config, Configuration Data, Process Model, Accessing process information, Additional Settings, Reading Configuration Information, Building a custom configuration section handler, Using the NameValueFileSectionHandler, Summary
4. HTTP Pipeline.
A day in the life of a request, 10000 foot view of request processing, Inside the Pipeline, Context, Applications, Application Events, Declarative object creation, Custom Handlers, Custom handlers for file processing, .ashx, Handler Pooling, Custom Handler Factories, Custom Modules, Modules as Filters, Module Pooling, Modules vs. global.asax, Threading in the pipeline, Asynchronous Handlers, Summary
5. Diagnostics and Error Handling.
Diagnostics in ASP.NET, Page tracing, Writing trace messages, Application-level tracing, Performance Monitor Counters, Debugging, Error Handling, Unhandled exceptions, Summary
6. Validation.
Form Validation, Client-side Validation, Server-side Validation, Validation Observations, Validation Control Architecture, Page Validation, Client-side Validation, Validation Controls, Summary
7. Data Binding.
Fundamentals, Data Binding Controls, Binding to Database Sources, IDataReader Binding, DataSet binding, DataSet versus DataReader for data binding, DataGrid, DataGrid Paging, DataGrid Sorting, DataGrid Editing, Templates, Data Binding Evaluation Syntax, DataBinder, Templated Controls, Repeater, DataList, Summary
8. Custom Controls.
Fundamentals, Writing custom controls, Using custom controls, System.Web.UI.Control, HtmlTextWriter, Browser independence, Sub-properties, Inner content, Generating client-side script, System.Web.UI.WebControls.WebControl, State Management, ViewState, Explicit Post-Back Data Handling, Composite Controls, Creating child controls, Custom events, User Controls, Validation and Data Binding, Supporting Validation, Data-bound Controls, Implementing a data-bound control, Designer Integration, Properties and appearance, Type converters, Property Editors, Designers, Summary
9. Caching.
Caching opportunities in ASP.NET, Output Caching, Output caching location, Caching multiple versions of a page, Page fragment caching, Output caching considerations and guidelines, Data Caching, Cache Entry Attributes, Cache object removal, Data cache considerations and guidelines, Summary
10. State Management.
Types of State, Application State, Session State, Session Key Management, Storing session state out of process, Cookie State, ViewState, Summary
11. Security.
Web Security, Server Authentication, Client authentication, Security in ASP.NET, Client authentication and authorization, Forms Authentication, Authentication cookies in Web farms, Optional Authentication, Password storage, Salted Hashes, Role-based authentication, System Identity in ASP.NET, Summary

Robbe has been a Microsoft MVP in C# since 2004.  He is also the co-founder of which provides .NET articles, book reviews, software reviews, and software download and purchase advice.