Home > Store

C# Async Fundamentals LiveLessons (Video Training), Downloadable Version

C# Async Fundamentals LiveLessons (Video Training), Downloadable Version

Downloadable Video

  • Your Price: $84.99
  • List Price: $99.99
  • About this video
  • Accessible from your Account page after purchase. Requires the free QuickTime Player software.

    Videos can be viewed on: Windows 8, Windows XP, Vista, 7, and all versions of Macintosh OS X including the iPad, and other platforms that support the industry standard h.264 video codec.

Additional sample videos, individual lessons and other formats are available here.

Register your product to gain access to bonus material or receive a coupon.


  • Copyright 2014
  • Edition: 1st
  • Downloadable Video
  • ISBN-10: 0-13-382199-4
  • ISBN-13: 978-0-13-382199-4

3+ Hours of Video Instruction


C# Async Fundamentals LiveLessons provides developers with a practical introduction to Async and is a one-stop-shop to get you on the road to programming asyncronously.


As one of the most important new feature in the C# language, Async is an integral part of the Windows Runtime library. Developers will need to use the async / await features in most, if not all, of their upcoming development efforts. With async methods baked into more and more of the underlying libraries, developers will need strong skills around these features.

In this video training, C# expert and bestselling author Bill Wagner teaches the basics of C# async and await, and the Task Asynchronous Programming Model. Lesson 1 provides the basis for putting async and await into practice in your daily development efforts. All the remaining Lessons are designed to take you through a series of common mistakes developers make using async and await.

In Lesson 2 "Sync over Async", you'll examine where sync over async can creep into an application, and learn how to remove to ensure you don't suffer from its effects. In Lesson 3 you'll explore the perils of async void methods, an issue at the heart of the C# compiler team. In Lesson 4 he'll get you up-to-speed on techniques to ensure that you avoid forcing async methods to run serially. In Lesson 5 you'll learn techniques for unit testing async methods.

And to tie it all together, Lesson 6 will recap the fundamental practices and the implementation of async and await.

About the Instructor

Bill Wagner has spent his entire career in the software industry, spanning both technical and business roles. Bill's technical time is spent between curly braces, primarily with C#. He's the author of the bestselling "Effective C#", now in its second edition, and "More Effective C#". His articles have appeared in MSDN Magazine, the C# Developer Center, Visual C++ Developer's Journal, Visual Studio Magazine, ASP.NET ,Pro, .NET Developer's Journal and more. He's written hundreds of technical articles and actively blogs on technical and business topics. Bill is also a Microsoft Regional Director.

He spent eight years as a self-employed consultant before co-founding SRT Solutions with Dianne Marsh. Over the past decade, SRT Solutions has grown into a premier software development company, amassing 4 FastTrack awards (2011, 2010, 2008, 2007), the Michigan 50 Companies to Watch award (2011), and making the Inc 500/5000 list (2011 and 2012). Bill was also awarded Automation Alley's Emerging Technology Leader award in 2011.After a successful exit from SRT Solutions, Bill now spends his time helping developers improve their skills.

Skill Level

This topic should be of interest to anyone developing using the C# language. This includes Windows Server, Windows 8, Windows Phone, MonoDroid, and Mono Touch developers at the following skill level:

  • Beginner
  • Intermediate

What You Will Learn

  • Learn to avoid the sync over async anti-pattern.
  • Learn how to ensure that you can recover from errors in async tasks.
  • Learn to structure async code for better responsiveness.
  • Learn how to construct unit tests for async code.
  • Learn how to construct async APIs that express clarity to your users.

Who Should Take This Course

  • Developers looking for a practical introduction to C# async

Course Requirements

  • Some experience with C# programming.
  • A passing familiarity with async /await features is helpful.

Table of Contents

Lesson 1: Overview of the syntax and the TAP programming model

Lesson 2: Sync Over Async
2.1 Lab Review
2.2 Task.Wait blocking API
2.3 IAsyncResult.GetResults Blocking API
2.4 Task.Result Blocking API
2.5 The Payoff of Responsiveness

Lesson 3: Async Void
3.1 Did my task finish?
3.2 Removing Async Void code smell
3.3 Review of app behavior changes

Lesson 4: Async Serial Tasks
4.1 Await results, not task launch
4.2 Searching for unnecessary awaits
4.3 ConfigureAwait and Context affinity
4.4 When APIs need the UI context

Lesson 5: Unit Testing Async Methods
5.1 Testing logic and the fast path
5.2 Testing the slow path and task completion order
5.3 Testing for failed tasks

Lesson 6: Putting what you've learned about Async to practice

About LiveLessons Video Training

LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership