static void OnReplyComplete(IAsyncResult result)
            {
                if (result.CompletedSynchronously)
                {
                    return;
                }

                CompleteAsyncResult thisPtr           = (CompleteAsyncResult)result.AsyncState;
                Exception           completeException = null;

                try
                {
                    thisPtr.receiver.requestContext.EndReply(result);
                }
                catch (Exception e)
                {
                    completeException = e;
                }
                finally
                {
                    thisPtr.reply.Close();
                }

                thisPtr.Complete(false, completeException);
            }
 protected override void OnEndComplete(IAsyncResult result)
 {
     if (Transaction.Current == null)
     {
         CompleteAsyncResult.End(result);
     }
     else
     {
         Transaction.Current.TransactionCompleted += this.transactionCompletedHandler;
     }
 }
Example #3
0
            static bool HandleOperationComplete(IAsyncResult result)
            {
                CompleteAsyncResult thisPtr = (CompleteAsyncResult)result.AsyncState;
                bool success = false;

                try
                {
                    thisPtr.EndComplete(result);
                    success = true;
                    return(true);
                }
                finally
                {
                    if (!success)
                    {
                        if (TD.ReceiveContextCompleteFailedIsEnabled())
                        {
                            TD.ReceiveContextCompleteFailed(thisPtr.ReceiveContext.eventTraceActivity, thisPtr.GetType().ToString());
                        }

                        thisPtr.ReceiveContext.Fault();
                    }
                }
            }
Example #4
0
 public virtual void EndComplete(IAsyncResult result)
 {
     CompleteAsyncResult.End(result);
 }