Chapter 2. Async Basics

This chapter introduces you to the basics of using async and await for asynchronous operations. This chapter only deals with naturally asynchronous operations, which are operations such as HTTP requests, database commands, and web service calls.

If you have a CPU-intensive operation that you want to treat as though it were asynchronous (e.g., so it doesn’t block the UI thread), then see Chapter 3 and Recipe 7.4. Also, this chapter only deals with operations that are started once and complete once; if you need to handle streams of events, then see Chapter 5.

To use async on older platforms, install the NuGet package Microsoft.Bcl.Async into your application. Some platforms support async natively, and some should have the package installed (see Table 2-1):

Table 2-1. Platform support for async
PlatformDataflow support

.NET 4.5

Yes

.NET 4.0

NuGet

Mono iOS/Droid

Yes

Windows Store

Yes

Windows Phone Apps 8.1

Yes

Windows Phone SL 8.0

Yes

Windows Phone 7.1

NuGet

Silverlight 5

NuGet

2.1. Pausing for a Period ...

Get Concurrency in C# Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.