Beispiel #1
0
        protected IDisposable EstablishMessageContext()
        {
            var headers = new Dictionary <string, object>
            {
                { Headers.ReturnAddress, "none" },
                { Headers.MessageId, "just_some_message_id" },
            };

            var result = new NoTransaction();

            //_messageContext = _MessageContextEstablishAccessor(headers);
            Disposables.TrackDisposable(EnterAFakeMessageContext(headers: headers));

            return(result);
        }
Beispiel #2
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());
 }
Beispiel #3
0
 public void SemiDispose(bool disposing, DbConn aDbConn)
 {
     //次の状態に遷移する
     aDbConn.GoToNextState(NoTransaction.GetInstance());
 }
Beispiel #4
0
 public bool IsAvailable()
 {
     return(object.ReferenceEquals(_state, NoTransaction.GetInstance()));
 }