Example #1
0
 public override void OnEvent(MsgRegisterCompletionEvent e)
 {
     if (RegisterParticipantFailureRecord.ShouldTrace)
     {
         RegisterParticipantFailureRecord.Trace(e.Completion.EnlistmentId, e.Completion.Enlistment.RemoteTransactionId, ControlProtocol.Completion, e.ParticipantService, Microsoft.Transactions.SR.GetString("RegisterCompletionFailureDuplicate"), base.state.ProtocolVersion);
     }
     base.state.RegistrationCoordinator.SendFault(e.Result, base.state.Faults.CompletionAlreadyRegistered);
 }
Example #2
0
 private void InvalidRegisterCompletionMessage(MsgRegisterCompletionEvent e)
 {
     this.TraceInvalidEvent(e, false);
     this.TryToAbortTransaction(e, e.Completion);
     if (RegisterParticipantFailureRecord.ShouldTrace)
     {
         RegisterParticipantFailureRecord.Trace(e.Completion.EnlistmentId, e.Completion.Enlistment.RemoteTransactionId, ControlProtocol.Completion, e.ParticipantService, Microsoft.Transactions.SR.GetString("RegisterFailureInvalidState", new object[] { e.StateMachine.State.ToString() }), this.state.ProtocolVersion);
     }
     this.state.RegistrationCoordinator.SendFault(e.Result, this.state.Faults.InvalidState);
 }
Example #3
0
        protected void ProcessTmRegisterResponse(TmRegisterResponseEvent e)
        {
            ParticipantEnlistment participant = e.Participant;
            MsgRegisterEvent      sourceEvent = e.SourceEvent;

            if (e.Status != Status.Success)
            {
                Fault fault = this.state.Faults.ParticipantTMRegistrationFailed(e.Status);
                this.state.RegistrationCoordinator.SendFault(sourceEvent.Result, fault);
                if (RegisterParticipantFailureRecord.ShouldTrace)
                {
                    RegisterParticipantFailureRecord.Trace(participant.EnlistmentId, participant.Enlistment.RemoteTransactionId, participant.ControlProtocol, participant.ParticipantProxy.To, Microsoft.Transactions.SR.GetString("PplCreateSubordinateEnlistmentFailed", new object[] { e.Status.ToString() }), this.state.ProtocolVersion);
                }
            }
            else
            {
                participant.OnParticipantRegistered();
                this.state.RegistrationCoordinator.SendRegisterResponse(participant, sourceEvent.Result, sourceEvent.Protocol, participant.CoordinatorService);
                if (RegisterParticipantRecord.ShouldTrace)
                {
                    RegisterParticipantRecord.Trace(participant.EnlistmentId, participant.Enlistment.RemoteTransactionId, participant.ControlProtocol, participant.ParticipantProxy.To, this.state.ProtocolVersion);
                }
            }
        }