ASP.NET 2.0 Unleashed, by Stephen Walther
Summary: Invaluable book. Buy it!
I am a very pleased owner of the original ASP.NET Unleashed, for ASP.NET 1.1, so I was looking forward to getting my hands on the version for ASP.NET 2.0. Stephen Walther is a Microsoft “Software Legend”, largely due to how influential the original ASP.NET Unleashed was in the developer community. I’m apparently not the only dev praising Stephen and his Unleashed titles. In addition to authoring books, Stephen was also the lead developer for the Community Starter Kit and the Issue Tracker Starter Kit. He knows his stuff, and it shows.
Like all of SAMS’ Unleashed series, this book is well organized, well written, and very readable. Don’t let the easy readability fool you, though—this book is packed with advanced information, just packaged in a way the newest n00b can grow into. Chapters start off with the basics, and build to more advanced subjects. By the end of the chapter, you’ve covered the entire concept, with examples. If necessary, the detailed index leads you right back to the section you need to review.
ASP.NET 2.0 added a lot to the web.config file, so we revisit configuration a number of times. Where possible, all configuration attributes are detailed, making these sections excellent for reference, as well as learning. In many cases, important methds and properties for important classes are detailed (such as page output caching).
Perhaps the greatest asset to this book is the examples. The code in the examples is complete (rather than just a few lines amounting to little more than a method call), so you see methods or configurations in context. Unlike many of the examples in the MSDN library, Stephen’s examples are simple and to the point, not heavy in code which detracts from the actual example. All examples in print are written in VB.NET, but complete C# examples are on the CD. Examples are written with inline code, so they will function in the Express SKUs. More advanced developers can easily translate into code behind or code beside if they want to, or use the code as-is for learning. In some places, the examples are more than just an explanation—Stephen actually extends the native framework. In the sections about Profiles, Stephen includes a “BetterProfileProvider” (with complete source code on the CD), which stores profile properties in separate table columns, rather than in a BLOB in a single field. This is a similar concept to to the SqlTableProfileProvider from the asp.net team. Few books I’ve read go above an beyond like this one does.
The chapters cover literally almost everything. With over 1800 content pages and 34 chapters, it would be crazy to try and list them all here. Chapers are devoted to master pages, GridView control, web parts, caching—pretty much everything you need. There is even a chapter on integrating JavaScript an dAJAX (Stephen currently has an AJAX book in the works). The final chapter is a wrap-up, where you build a simple e-commerce application in about 16 pages. As an additional benefit, you don’t have to read this book front to back to get the benefit of the numerous examples. In fact, the book isn’t really set up as a “learn in x hours” type of book. Rather, it’s a reference tome you can actually read.
Not covered in this book are Crystal Reports .NET and SQL Server Reporting Services. Those are components of Visual Studio, and not available in the Express versions. Also not included are discussions of Team System (there is another book for that). The focus on this book is solely ASP.NET and the relevant parts of the .NET framework.
If you’re doing ASP.NET development, using any of the Visual Studio 2005 SKUs, you should definately invest in this book. This is truly one of the few things you can buy and use which will make you a better developer.