#134 Brandon Minnick, Async Await – Common Mistakes, Part 2

Summary
Brandon Minnick of Microsoft continues with his list of common mistakes in async/await programming and suggested solutions.

Details
Don't return awaits (sometimes), ConfigureAwait(false), synchronization context, what about API applications with no UI, and .NET Core is different too. Do I need async if I my threadpool never runs out of threads, consider scaling in the future. New in .NET Core 3, ValueTask (if method has an await but might not use it), heaps and stacks, how to find Brandon.

Links
Brandon's Twitter

Brandon's talk on async/await at NDC Oslo

Download mp3 of podcast

#133 Brandon Minnick, Async Await – Common Mistakes, Part 1

Summary
Brandon Minnick of Microsoft talks about common mistakes when using async/await and offers solutions.

Details
Who he is, what he does. What asynchronous programming is, calling code that will return an answer in the future; multithreading. How to make a synchronous method asynchronous, freeing the calling thread; what the compiler does with async code - awaits, switch statements, move next and try catch. Calling async from sync, don't use .Result() it's a blocking call, .Result() throws an aggregate exception; use .GetAwaiter().GetResult().

Links
Brandon's Twitter

Brandon's talk on async/await at NDC Oslo

Download mp3 of podcast

#44 Bill Wagner, C# 7

Summary
Bill Wagner, author, Microsoft MVP and member of the ECMA C# Standards Committee, tells me about his writing, C# 7, language standards and the move the open source.

Details
Who he is, how he writes, C# standardization, compiler implementations, .NET Foundation Advisory Council, the move to open source, port to Linux, .Net core, .Net foundation, C# 7 new features, async streams, non nullable types, better support for unity; quick tutorial on async - "go async all the way"; compiler analyzer.

Download mp3 of podcast

Book Recommendations
Essential C# 6.0

Effective C#

More Effective C#

Every Shot Must Have a Purpose

Quiet Strength: The Principles, Practices, and Priorities of a Winning Life