The Azure Storage library provides synchronous and asynchronous versions of nearly all the methods that access the Azure Storage service.
The asynchronous methods follow the common language runtime (CLR) Asynchronous Programming Model (APM). In this model, asynchronous methods for an action are defined as a pair named BeginAction
and EndAction
. The asynchronous operation is initiated through a call to BeginAction
and is cleaned up by a call to EndAction
. The BeginAction
action has a parameter that is a callback delegate, and EndAction
must be invoked in this delegate.
This apparent complexity can be greatly simplified through the use of a lambda expression to represent the callback delegate. Furthermore, local variables defined in the method that contain the lambda expression are available inside the lambda expression. This removes any difficulty caused by a need to pass variables into the delegate. Using a lambda expression, instead of a callback delegate...