The release of ASP.NET has unleashed a flood of ASP.NET books, including this one by Stephen Walther. What is most remarkable about this book given its size is that it is written by only one author. This means that redundant information often found in multi-author titles, particularly introductory commentary, is almost non-existent.
There is no doubt the author knows and has deeply explored the ASP.NET landscape. The spectrum of topics covered range from describing the ASP.NET syntax and Web server controls to building custom user controls and advanced XML Web Services. Each explanation is accompanied by clearly written, easy to follow code snippets that often serve as helpful project starters.
ASP.NET Unleashed adequately balances its content: The first half is devoted to the fundamentals of ASP.NET development; the second half is dedicated to using these building blocks in full-blown ASP.NET applications. The second half illustrates the profound advantage ASP.NET provides over ASP, particularly with the ability to construct complex Web applications within the ASP.NET Framework (the GDI+ tutorial shows how what once would have required a server-side ActiveX control can now be completely authored and managed using ASP.NET's VB .NET language). The book culminates with an Online Store and an XML Web Service-enabled Job Site that leverages most of the techniques previously exercised.
Other sections discuss such practical topics as using the 'code-behind' technique to cleanly separate application logic from presentation design, targeting mobile devices using Microsoft's Mobile Internet Toolkit, and using third-party controls. Nearly a quarter of the book talks about ADO.NET. Not surprisingly, ADO.NET is optimized for use with Microsoft SQL Server and the book provides a helpful example of incorporating SQL Server's full-text search capability with ASP.NET. The book also details the configuration required to use Microsoft's Index Server to perform similar functionality; this was particularly interesting because the current Index Server OLE DB provider is incompatible with ADO.NET, and yet the author shows how developers can circumvent this interim shortcoming. Other notable segments include a discussion about improving ASP.NET scalability with page caching (including more granular page fragment and data caching) and a user authentication example employing Microsoft's Passport SDK.
ASP.NET Unleashed occasionally stumbles. This is most obvious in multiple references to a non-existent CD-ROM that apparently was to accompany the book. The code can be downloaded from the book's Web site, but it was irritating to see numerous references to a CD that isn't there. The author also heavily advertises his products and services - most prominently in the section on third-party controls, but also on the inside back cover. I'd rather this cover space be dedicated to either an ASP.NET library hierarchy, a Top Ten Tips listing, or a quick page reference.
Given the book's thickness, only a paltry 28 pages is dedicated to the discussion of other XML technologies besides its Web Services context, and only as XML relates to ADO.NET DataSets. There's no discussion of utilizing XML technologies such as XPath or XML Query or working with XML Schemas. At least XSLTs are mentioned, and there's a small section on how to perform transforms using the XslTransform class.
Lastly, a potential problem for certain ASP.NET audience members is the exclusive use of VB for all code listings. While this was probably done to ease the migration pain of VBScripters to the .NET environment, C# is new and different enough to warrant at least a few examples of this powerful new language. At the very least, the author should translate a few of the book's examples for his Web site.
Even with these omissions, the book's valuable discussions far outweigh its shortcomings. Although not the best ASP.NET title on the market, it still warrants consideration, especially by those developers who intend to stick with VB as their primary syntax within the .NET Framework.
- Mike Riley
ASP.NET Unleashed by Stephen Walther, SAMS, http://www.samspublishing.com.
Cover Price: US$54.99