public void Rollback(Enlistment enlistment) { enlistment.Done(); this.notification.Aborted(0, false, 0, 0); ComPlusTxProxyTrace.Trace(TraceEventType.Verbose, 0x50023, "TraceCodeComIntegrationTxProxyTxAbortedByTM", this.proxy.AppId, this.proxy.Clsid, this.transaction.TransactionInformation.DistributedIdentifier, this.proxy.InstanceID); Marshal.ReleaseComObject(this.notification); this.notification = null; }
public void Commit(Enlistment enlistment) { enlistment.Done(); this.notification.Committed(false, 0, S_OK); ComPlusTxProxyTrace.Trace(TraceEventType.Verbose, TraceCode.ComIntegrationTxProxyTxCommitted, SR.TraceCodeComIntegrationTxProxyTxCommitted, proxy.AppId, proxy.Clsid, transaction.TransactionInformation.DistributedIdentifier, proxy.InstanceID); Marshal.ReleaseComObject(this.notification); this.notification = null; }
public void VoteRequestDone(int hr, int reason) { if (this.preparingEnlistment == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("NoVoteIssued"))); } if (hr == 0) { this.preparingEnlistment.Prepared(); } else { this.preparingEnlistment.ForceRollback(); ComPlusTxProxyTrace.Trace(TraceEventType.Verbose, 0x50022, "TraceCodeComIntegrationTxProxyTxAbortedByContext", this.proxy.AppId, this.proxy.Clsid, this.transaction.TransactionInformation.DistributedIdentifier, this.proxy.InstanceID); } }