При создании объекта SqlTransaction
с использованием BeginTransaction("MyTransactionName")
, есть ли способ получить имя транзакции из возвращенного объекта транзакции?
Идея состоит в том, что когда моя транзакция завершается неудачно, я хочу записать имя транзакции, так как система многопоточная, и могут возникнуть некоторые взаимоблокировки, которые необходимо обработать.
Объект logger
в моем примере кода является нашим собственным компонентом, и это очень тривиальный пример, так как большая часть кода не может быть размещена здесь.
using (SqlConnection myConnection = new SqlConnection(SQLConnectString)) {
myConnection.Open();
SqlTransaction transaction = myConnection.BeginTransaction("UpdateTransaction");
//The update methods are omitted here for brevity
try {
logger.Log("Attempt commit ");
transaction.Commit();
} catch (Exception ex) {
logger.Error("Commit failed - " + ex.Message, ex.StackTrace);
//At this point, I want to write the name of the failed
//transaction into the log.
}
}
Любая помощь будет высоко ценится.