public static void GetTransactionAttributes(Transaction transaction, out uint timeout, out IsolationFlags isoFlags, out string description) { XACTOPT xactopt; XACTTRANSINFO xacttransinfo; IDtcTransaction dtcTransaction = TransactionInterop.GetDtcTransaction(transaction); ITransactionOptions options = (ITransactionOptions)dtcTransaction; ISaneDtcTransaction transaction3 = (ISaneDtcTransaction)dtcTransaction; options.GetOptions(out xactopt); timeout = xactopt.ulTimeout; description = xactopt.szDescription; transaction3.GetTransactionInfo(out xacttransinfo); isoFlags = xacttransinfo.isoFlags; }
public static void GetTransactionAttributes(Transaction transaction, out uint timeout, out IsolationFlags isoFlags, out string description) { IDtcTransaction dtcTransaction = TransactionInterop.GetDtcTransaction(transaction); ITransactionOptions transactionOptions = (ITransactionOptions)dtcTransaction; ISaneDtcTransaction saneTransaction = (ISaneDtcTransaction)dtcTransaction; XACTOPT options; transactionOptions.GetOptions(out options); // For transactions not created inside this process, this will be zero timeout = options.ulTimeout; description = options.szDescription; XACTTRANSINFO info; saneTransaction.GetTransactionInfo(out info); isoFlags = info.isoFlags; }