Example #1
0
 private void EnlistDistributedTransactionHelper(ITransaction transaction)
 {
     PermissionSet set = new PermissionSet(PermissionState.None);
     set.AddPermission(ExecutePermission);
     set.AddPermission(new SecurityPermission(SecurityPermissionFlag.UnmanagedCode));
     set.Demand();
     Bid.Trace("<prov.DbConnectionHelper.EnlistDistributedTransactionHelper|RES|TRAN> %d#, Connection enlisting in a transaction.\n", this.ObjectID);
     Transaction transactionFromDtcTransaction = null;
     if (transaction != null)
     {
         transactionFromDtcTransaction = TransactionInterop.GetTransactionFromDtcTransaction((IDtcTransaction) transaction);
     }
     this.InnerConnection.EnlistTransaction(transactionFromDtcTransaction);
     GC.KeepAlive(this);
 }