コード例 #1
0
 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;
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 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);
     }
 }