예제 #1
0
 public void SemiDispose(bool disposing, DbConn aDbConn)
 {
     //トランザクションを終了する
     try {
         //GCによる回収時にはCommitAtFinalizingの設定によりCOMMITまたはROLLBACKする
         if (disposing || aDbConn._commitAtFinalizing)
         {
             aDbConn.Commit();
         }
         else
         {
             aDbConn.Rollback();
         }
     } catch (Exception ex) {
         //GCによる回収時には例外を送出しない
         if (disposing)
         {
             //Error1状態に遷移して例外を再送出する
             aDbConn.GoToError1AndThrow(ex, true);
         }
     }
     //次の状態に遷移する
     aDbConn.GoToNextState(NoTransaction.GetInstance());
 }
예제 #2
0
 public void SemiDispose(bool disposing, DbConn aDbConn)
 {
     //次の状態に遷移する
     aDbConn.GoToNextState(NoTransaction.GetInstance());
 }
예제 #3
0
 public bool IsAvailable()
 {
     return(object.ReferenceEquals(_state, NoTransaction.GetInstance()));
 }