If you are interested in asynchronous programming in .NET, Async in C# 5.0 does a really nice job of teaching you how to leverage the new async features in C# 5. I recommend the book not only for learning the new features in C# 5, but for also understanding various patterns and solutions used in the past and how the new features make it easier.
Enjoyed the Writing Style
I really like the approach used in Async in C# 5.0 to teach the material. This isn't an easy topic by any means, and I think the author did a really nice job of teaching the material. Here is his approach and why I enjoyed the book so much.
- Explained Async - The author started off by explaining what "is and is not" asynchronous programming and used several good analogies to explain it in everyday terms.
- Patterns and Techniques before C# 5 - Once we have an understanding of what asynchronous programming is and how and when it helps, the author dives into patterns and solutions prior to C# 5. He mentions the drawbacks to get us ready for those C# 5 features.
- New C# 5 and Compiler Features - Now that we clearly understand async programming and the challenges prior to C# 5, we get enlightened with the new async features in C# 5.
- Use Cases and Discussions - Leverage async programming in ASP.NET, WinRT, etc. as well as discussions on performance.
- Under the Hood - Not for the feint of heart, the author provides more in-depth coverage for those that like to get their hands dirty and understand the details. This sits apart from the rest to make it optional as it gets pretty technical.
The book is small and only took me 2-3 hours to read. The book flows well and is enjoyable to read, which means you will probably read it front-to-back in one sitting. Once you finish the book I dare you not to jump on your development machine. I immediately grabbed a cup of tea and started playing with aync programming in ASP.NET MVC 4 and Orchard CMS after testing the waters in a console application :)
Needs More and Better Examples
My only disappointment with the book is that it focused on the same overused WebClient Sample. In this case it was doing several favicon downloads asychronously in a windows app. It's a good example, but a little overused and I would have liked to see more examples in the book and more in the downloadable sample code. The book mentions how most .NET developers are web developers but doesn't give a good ASP.NET MVC Example. There are a total of 2.5 pages focused on ASP.NET MVC and WebForms and I think several examples in ASP.NET would have been appropriate. At least add it to the sample code :)
Overall, I really enjoyed the book. I liked the writing style and the good information. It loses a star only because there should have been more and better examples both discussed in the book and provided in the sample code. I received this book for free as part of the O'Reilly Blogger Review Program, which is where I get most of my books these days :)
Learn more about Async in C# 5.0 on the O'Reilly Website.