System.Transactions.VolatileDemultiplexer.InternalInDoubt C# (CSharp) Method

InternalInDoubt() protected abstract method

protected abstract InternalInDoubt ( ) : void
return void
        protected abstract void InternalInDoubt();

Usage Example

Example #1
0
        protected static void PoolableInDoubt(object state)
        {
            VolatileDemultiplexer demultiplexer = (VolatileDemultiplexer)state;
            bool lockTaken = false;

            try
            {
                Monitor.TryEnter(demultiplexer.transaction, 250, ref lockTaken);
                if (lockTaken)
                {
                    demultiplexer.InternalInDoubt();
                }
                else if (!ThreadPool.QueueUserWorkItem(InDoubtCallback, demultiplexer))
                {
                    throw TransactionException.CreateInvalidOperationException(System.Transactions.SR.GetString("TraceSourceLtm"), System.Transactions.SR.GetString("UnexpectedFailureOfThreadPool"), null);
                }
            }
            finally
            {
                if (lockTaken)
                {
                    Monitor.Exit(demultiplexer.transaction);
                }
            }
        }
All Usage Examples Of System.Transactions.VolatileDemultiplexer::InternalInDoubt