This recipe describes why async void
methods are quite dangerous to use. We will learn in what situations it is acceptable to use this method, and what to use instead when possible.
To step through this recipe, you will need Visual Studio 2012. There are no other prerequisites. The source code for this recipe can be found at BookSamples\Chapter5\Recipe7
.
To learn how to work with the async void
method, perform the following steps:
Start Visual Studio 2012. Create a new C# Console Application project.
In the
Program.cs
file, add the followingusing
directives:using System; using System.Threading; using System.Threading.Tasks;
Add the following code snippet below the
Main
method:async static Task AsyncTaskWithErrors() { string result = await GetInfoAsync("AsyncTaskException",2); Console.WriteLine(result); } async static void AsyncVoidWithErrors() { string result = await GetInfoAsync("AsyncVoidException",2); Console.WriteLine...