Пример #1
0
        public static AsyncFlowControl SuppressFlow()
        {
            Thread           currentThread    = Thread.CurrentThread;
            ExecutionContext?executionContext = currentThread._executionContext ?? Default;

            if (executionContext.m_isFlowSuppressed)
            {
                throw new InvalidOperationException(SR.InvalidOperation_CannotSupressFlowMultipleTimes);
            }

            executionContext = executionContext.ShallowClone(isFlowSuppressed: true);
            AsyncFlowControl asyncFlowControl = default;

            currentThread._executionContext = executionContext;
            asyncFlowControl.Initialize(currentThread);
            return(asyncFlowControl);
        }
Пример #2
0
        public static AsyncFlowControl SuppressFlow()
        {
            Thread           currentThread    = Thread.CurrentThread;
            ExecutionContext executionContext = currentThread.ExecutionContext ?? Default;

            if (executionContext.m_isFlowSuppressed)
            {
                throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_CannotSupressFlowMultipleTimes"));
            }
            Contract.EndContractBlock();

            executionContext = executionContext.ShallowClone(isFlowSuppressed: true);
            var asyncFlowControl = new AsyncFlowControl();

            currentThread.ExecutionContext = executionContext;
            asyncFlowControl.Initialize(currentThread);
            return(asyncFlowControl);
        }
Пример #3
0
        public static AsyncFlowControl SuppressFlow()
        {
            Thread currentThread = Thread.CurrentThread;
            ExecutionContext executionContext = currentThread.ExecutionContext ?? Default;
            if (executionContext.m_isFlowSuppressed)
            {
                throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_CannotSupressFlowMultipleTimes"));
            }
            Contract.EndContractBlock();

            executionContext = executionContext.ShallowClone(isFlowSuppressed: true);
            var asyncFlowControl = new AsyncFlowControl();
            currentThread.ExecutionContext = executionContext;
            asyncFlowControl.Initialize(currentThread);
            return asyncFlowControl;
        }