Author: Dino Esposito
Publisher: Microsoft Press, 2010
Aimed at: C# programmers already familiar with ASP.NET
Pros: Deep and thoughtful
Cons: Too many lists and tables
Reviewed by: Alex Armstrong
This is a big book on ASP.NET 4 and it focuses on the traditional Web Forms type of application. If you are interested in ASP.NET MVC then you will need another book - and you might need it even more quickly than you could possibly imagine. The reason is this book starts off with a chapter that tells you this history and the reasons behind web forms based ASP.NET. When I read it I had to keep checking that the book wasn't about the MVC flavour of ASP.NET for the simple reason that the author succeeded in doing an excellent job of pointing out the problems with the Web Forms approach. The descriptions rang true and the criticisms were fair and by the end of the chapter I was almost ready to throw in the towel and move to MVC.
Of course in the real world you can't just do that. We have existing ASP.NET sites that have to be maintained and developed further and so we must move on to Chapter 2 - even if it no longer seems the right thing to do.
This is no beginner's book as you can tell as soon as you start reading Chapter 2 which deals with IIS and setting things up. Chapter 3 is on configuration and is a long and extensive study of a topic that hardly makes an appearance in an introductory book. The same comment applies to chapter 4 on HTTP handlers. Overall the first part of the book is very technical and if you are a beginner or an intermediate programmer you might find it better to skip to Part II.
Part II contains the material that usually starts a book on ASP.NET - pages, server controls. core server controls. working with the Page,Page composition, Input forms, data binding, ListView and Custom controls. All are described in detail and there are many useful comments and ways to think about what you are doing. What is not as useful are the extensive tables listing properties and methods - these just take up space.
Part III is about putting everything together. Chapter 13 starts off with the principles of software design - a nice introduction if you don't know anything about the topic. Chapter 14 is about layered architecture and Chapter 15 is specifically about the MVP pattern.
Part IV is back to the technical details of ASP.NET and explains the infrastructure - HTTP Request context, state management, chasing and security.
The final part of the book deals with "modern" ASP.NET with a look at Ajax and client-side scripting in general. Chapter 20 focuses on Ajax programming and the final chapter is right up to date with a look at jQuery programming.
Although I can't recommend the book to the complete beginner this is mainly because of the way it starts. Once you get into Part II the presentation is very accessible and easy to read. However even here the subject matter tends to work its way to the more technical. As a result this book would suit the competent C# programmer who knew the basics of ASP.NET, i.e. roughly how it all worked, and wanted to get to grips with the technical details. If you fit this description then this is a very good book and one that you won't regret adding to your shelf.