public void InitAsync(IAsyncContinuation continuation) { ExceptionUtilities.CheckArgumentNotNull(continuation, "continuation"); try { IEnumerable <Action <IAsyncContinuation> > actions = null; using (var context = AsyncExecutionContext.Begin()) { this.Init(); actions = context.GetQueuedActions(); } AsyncHelpers.RunActionSequence(continuation, actions); } catch (Exception ex) { if (ExceptionUtilities.IsCatchable(ex)) { continuation.Fail(ex); } } }