The opinions expressed herein are my own personal opinions and do not represent
my employer's view in any way.
Sorry for the lack of updates as I’m having a very busy month (lot of work to do).
I finished reading Programming Microsoft ASP.NET: Advanced Topics last week (the second part of Programming Microsoft ASP.NET: Core Reference). I really liked this book. It has quite a bit of detailed and internal information difficult to find out. In order to understand the material of the book you should have a decent ASP.NET background because this is not an introduction book.
If you’re an analyst you should read this book as it will give you a solid understanding of the things you can use in your ASP.NET apps to solve your problems (as ASP.NET is more than .aspx and .ascx files). If you’re a developer you should read it too to improve skills in the programming areas you’re less confortable with.
The TOC of the book is:
Part I. Inside the ASP.NET Machinery1. The ASP.NET Compilation Model 2. HTTP handlers and modules 3. ASP.NET Configuration 4. Building Custom ASP.NET Providers 5. Building Feature-Rich Pages
Part II. Special Features6. Working with Script Code 7. Composing Pages with Web Parts 8. Programming for the mobility 9. Working with Images 10. Site Navigation
Part III. ASP.NET Controls11. ASP.NET Iterative controls 12. Web Forms User Controls 13. Creating Custom ASP.NET Controls 14. Data-bound and Templated Controls 15. Design-time Support for Custom Controls
For me Part I and III were the most interesting ones.
Chapter 1 and 2 are essential. Without a solid understanding of the process model you can face a lot of problems. Also it’s very important to know how to write (and when) HttpHandlers and HttpModules. With this and a solid understanding of the page cycle you are on the right way.
Chapters 13, 14 and 15 are very important for the control developer.
Some things that I’d like to point out about some chapters:
• In Chapter 1, there’s a nice sample of a data mapper in the section about the Build Providers (very good) and an introduction to virtual path providers (very short).• In Chapter 2, the only thing I didn’t like is that there wasn’t an example of an asynchronous HTTP Handler. In chapter 5 there are more stuff about async handlers though.• Chapter 3 introduces some stuff about health monitoring that it’s complemented in Chapter 4 when talking about the associated provider. I think that the health monitoring system is very important so read it carefully. It was a nice surprise to find a section about how to add another section to the WSAT.• The example about a custom provider (in Chapter 4) is a good one. I always feel like ASP.NET missed a cookie-based profile provider.• Asynchronous pages and dynamic expressions are explained pretty well in Chapter 5.• I was surprised to see that there was a section dedicated to the Ajax.NET library after talking about script callbacks (Chapter 6). Having tried both I agree with Dino’s comparison.• Chapter 7 is a good introduction to web parts (even with examples about connections between web parts), but IMHO web parts deserve more material.• I don’t think I’ll have to program for mobile devices in ASP.NET but this chapter seems a good introduction about that.• I read pretty fast Chapter 9 as I have worked a lot of with dynamically generated images and GDI+.• I don’t know what are doing some parts of Chapters 10, 11 and 12 in the book as I don’t consider very advanced to explain how to use the DataList, the Repeater, the Menu, the TreeView and a web user control. • Chapters 13 and 14 are a master piece if you have to create data bound and templated custom controls. You need to have a serious understanding of how the BaseDataBound class and the new data source controls work to make complex controls, and these chapters explain it quite well (clearer than my January post about BaseDataBound control). However I don’t know why Dino doesn’t explain anything about building your own data source control.• Chapter 15 talks about the design time infrastructure but it’s very introductory (design time attributes, type converters, type editors and designers). There’s nothing about ActionList, the different base classes for designers, etc.
To sum up, a very good book. I suggest you to buy it if you know ASP.NET and want to improve your skills.