예제 #1
0
 /// <summary>
 /// コミットし、トレースログを出力します。
 /// </summary>
 public override void Commit()
 {
     try
     {
         var sw = Stopwatch.StartNew();
         _innerTransaction.Commit();
         _conn.TraceLog("Commit", sw.ElapsedMilliseconds);
         _isCompleted = true;
     }
     catch (Exception ex)
     {   // エラーログを出力し、スタックトレースを切って再throw
         _conn.ErrorLog(ex);
         throw ex;
     }
 }
예제 #2
0
 /// <summary>
 /// コマンドを実行します。実行結果トレースログも出力します。
 /// </summary>
 protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
 {
     try
     {
         var sw  = Stopwatch.StartNew();
         var ret = _innerCommand.ExecuteReader(behavior);
         _conn.TraceLog((ret.HasRows ? "HasResults" : "NoResult"), sw.ElapsedMilliseconds, _innerCommand);
         return(ret);
     }
     catch (Exception ex)
     {   // エラーログを出力し、スタックトレースを切って再throw
         _conn.ErrorLog(ex, this);
         throw ex;
     }
 }