private SessionReceiveContextAsyncResult(MsmqInputSessionChannel.MsmqSessionReceiveContext receiveContext, TimeSpan timeout, AsyncCallback callback, object state, Action <object> target) : base(callback, state)
 {
     this.completionTransaction = Transaction.Current;
     this.timeoutHelper         = new TimeoutHelper(timeout);
     this.receiveContext        = receiveContext;
     ActionItem.Schedule(target, this);
 }
 public static IAsyncResult CreateComplete(MsmqInputSessionChannel.MsmqSessionReceiveContext receiveContext, TimeSpan timeout, AsyncCallback callback, object state)
 {
     if (onComplete == null)
     {
         onComplete = new Action <object>(MsmqInputSessionChannel.MsmqSessionReceiveContext.SessionReceiveContextAsyncResult.OnComplete);
     }
     return(new MsmqInputSessionChannel.MsmqSessionReceiveContext.SessionReceiveContextAsyncResult(receiveContext, timeout, callback, state, onComplete));
 }