private void StartupCustomerSession(AsyncTask task, object state) { CustomerSession customerSession = (CustomerSession)state; task.DoOneStep( delegate() { customerSession.BeginStartup( delegate(IAsyncResult ar) { task.DoFinalStep( delegate() { customerSession.EndStartup(ar); //this.Logger.Log(Logger.LogLevel.Info, String.Format("Customer session {0} shutdown.", customerSession.Customer.UserUri)); }); }, null); }); }