ASP.NET 3.5 Unleashed
I remember when the first of the Unleashed series was released (NT Server 4 Unleashed); it was an immediate success and quickly became the book on administering NT Server. Over the years I ve learned that any book with Unleashed in the title is worth adding to my bookshelf. ASP.NET 3.5 Unleashed continues this tradition and is one of the better books I ve seen on ASP.NET.
Given the size of this tome, almost 2,000 pages, I expected a lot of auxiliary stuff; the history of Web page tools and ASP/ASP.NET, an introduction to C# or VB.NET, etc. Nope. It is dense and packed with ASP.NET information. It is so packed with information that only C# code is presented in the book; the VB.NET code which was included in the main text in earlier editions has been moved to the accompanying CD. This book may move three or four books off my bookshelf and into storage.
The companion CD contains all the code used in the book in both C# and VB.NET. It is noted in the introduction that the CD contains code snippets that you can start to use in your Web site immediately, and as far as I can tell there are no copyrights restricting such use, even if you are designing commercial Web sites.
Let me give two examples of the kind of real-life information provided in this book. Very early in the book (p. 31), the author (Stephen Walther) shows how to use tracing to monitor how much viewstate information is being passed between the client and server. On p. 40, Walther talks about how code-behind pages in ASP.NET 1.x were implemented using inheritance and in ASP.NET 2.0 and later, they are implemented using a combination of inheritance and partial classes. Clearly Walther knows ASP.NET (described as a Microsoft Legend in his bio, he was the lead developer on several ASP.NET best practice applications for Microsoft, including the Community Starter Kit and the Issue Tracker Starter Kit). He also includes tips on working with different browsers; on p. 119 he points out that scrollbars set to vertical or horizontal will not display in browsers other than IE, so to have a cross-browser Web site, you need to set them to either Auto or Both.
ASP.NET 3.5 Unleashed is divided into 10 parts containing 34 chapters. Like I said, it s 2,000 pages with no fluff. Listed as an intermediate to advanced book, it is definitely not for beginners. If you read the entire book, you ll just as definitely be advanced by the time you are done.
Part I provides an overview of the ASP.NET Framework, and shows how to build a Web page using the standard, validating, and rich controls (like displaying calendars and advisement). I like that Walther spends a lot of time on the validating controls, as they are key to both robustness and security. Part II expands on that and goes on to show how to build a Web site using master pages and themes, and ends with creating custom user controls. Part III covers using data bound controls such as lists and grids, including DetailsView and FormView controls, and the Repeater and DataList controls. Part IV continues with more advanced database instruction showing how to create your own classes and function libraries (components). Walther covers using the ObjectDataSource control to create multi-tier applications, and using the ObjectDataSource control to page, sort, and filter data. He finishes the section with a chapter on using the new LINQ technologies to connect to databases. I like the way data binding and display is covered in so much detail, because data binding and grid controls can be so difficult to get right. On the other hand, even with two sections on data access, a separate book on ADO.NET and another one on LINQ would make good companion books to complement this one.
Part V covers site navigation, including site maps, the SiteMapPath control, Menu and TreeView controls, saving the site map in a hierarchical data source control, and even using the free Google Site Map service that collects information on how often Google directs people to different pages on your Web site.
Part VI covers the security-related ASP.NET controls, the Login control, and ASP.NET membership. This is covered in most ASP.NET books, but Walther does a better job than most at providing quality examples.
Part VII extends Part I (Web pages) and Part II (Web sites) into Web applications. It covers maintaining application state (using cookies and profiles, including the ASP.NET profile classes and manager), and page and data caching, before delving into internationalization and supporting multiple languages. This section ends with configuring the Web site, including the configuration APIs, the Web site configuration tool, and encrypting configuration information.
Part VIII greatly expands on building custom controls (started back in Part II), including custom painting of controls, more data binding, and processing postback events and data. The section ends with a chapter on creating templated data bound controls.
Part X shows how to put it all together as Walther demonstrates how to build a sample Web site. The sample Web site is a repository for code samples, with an included blog. The demonstration Web site also makes use of LINQ and ASP.NET AJAX.
This is the longest book review I ve ever written, but there is so much to like about this book that my only regret is that I had to cut my review so short. At US$59.99 for a 2,000-page hard-back book, this is a great bargain. Intermediate and advanced Web programmers should buy ASP.NET 3.5 Unleashed because of all the things they will learn. Beginning Web programmers should buy it because of all the sample code they can borrow while they learn to write their own.
Title: ASP.NET 3.5 Unleashed
Author: Stephen Walther