예제 #1
0
		private void CreateBbsContextInner(bool? safeMode, int? executorID)
		{
			m_SafeMode = safeMode;
			m_ExecutorID = executorID;

			Thread.BeginThreadAffinity();

			m_Previous = s_Current;
			s_Current = this;
		}
예제 #2
0
        private void CreateBbsContextInner(bool?safeMode, int?executorID)
        {
            m_SafeMode   = safeMode;
            m_ExecutorID = executorID;

            Thread.BeginThreadAffinity();

            m_Previous = s_Current;
            s_Current  = this;
        }
예제 #3
0
        public void Dispose()
        {
            if (m_Disposed == false)
            {
                m_Disposed = true;

                s_Current = m_Previous;

                if (m_TransactionOpened)
                {
                    RollbackTransaction();
                }

                Thread.EndThreadAffinity();
            }
        }
예제 #4
0
        public virtual void RollbackTransaction()
        {
            m_TransactionOpened = false;

            if (m_Transaction == null)
            {
                BbsContext current = this;

                while (current.m_Previous != null)
                {
                    if (current.m_Previous.m_Transaction != null)
                    {
                        if (current.m_Previous.m_Transaction == null)
                        {
                            return;
                        }

                        current.m_Previous.m_Transaction.Rollback();

                        current.m_Previous.m_Transaction.Dispose();

                        current.m_Previous.m_Transaction = null;

                        break;
                    }
                    current = current.m_Previous;
                }
            }
            else
            {
                m_Transaction.Rollback();

                m_Transaction.Dispose();

                m_Transaction = null;
            }
        }
예제 #5
0
		public void Dispose()
		{
			if (m_Disposed == false)
			{
				m_Disposed = true;

				s_Current = m_Previous;

                if (m_TransactionOpened)
    				RollbackTransaction();

				Thread.EndThreadAffinity();
			}
		}