override public void Commit()
{
Exception e = null;
Guid operationId = s_diagnosticListener.WriteTransactionCommitBefore(_isolationLevel, _connection);
ZombieCheck();
SqlStatistics statistics = null;
try
{
statistics = SqlStatistics.StartTimer(Statistics);
_isFromAPI = true;
_internalTransaction.Commit();
}
catch (Exception ex)
{
e = ex;
throw;
}
finally
{
if (e != null)
{
s_diagnosticListener.WriteTransactionCommitError(operationId, _isolationLevel, _connection, e);
}
else
{
s_diagnosticListener.WriteTransactionCommitAfter(operationId, _isolationLevel, _connection);
}
_isFromAPI = false;
SqlStatistics.StopTimer(statistics);
}
}