public void Rollback(Message message)
 {
     try
     {
         if (DebugTrace.Verbose)
         {
             DebugTrace.Trace(TraceLevel.Verbose, "Dispatching completion Rollback message");
             if (DebugTrace.Pii)
             {
                 DebugTrace.TracePii(TraceLevel.Verbose, "Sender is {0}", CoordinationServiceSecurity.GetSenderName(message));
             }
         }
         RollbackMessage.ReadFrom(message, this.service.ProtocolVersion);
         this.dispatch.Rollback(message);
     }
     catch (CommunicationException exception)
     {
         Microsoft.Transactions.Bridge.DiagnosticUtility.ExceptionUtility.TraceHandledException(exception, TraceEventType.Warning);
         base.OnMessageException(message, exception);
     }
     catch (Exception exception2)
     {
         DebugTrace.Trace(TraceLevel.Error, "Unhandled exception {0} dispatching completion Rollback message: {1}", exception2.GetType().Name, exception2);
         Microsoft.Transactions.Bridge.DiagnosticUtility.InvokeFinalHandler(exception2);
     }
 }
        public IAsyncResult BeginSendRollback(AsyncCallback callback, object state)
        {
            Message message = new RollbackMessage(base.messageVersion, base.protocolVersion);

            return(base.BeginSendMessage(message, callback, state));
        }
 public IAsyncResult BeginSendRollback(AsyncCallback callback, object state)
 {
     Message message = new RollbackMessage(base.messageVersion, base.protocolVersion);
     return base.BeginSendMessage(message, callback, state);
 }