コード例 #1
0
        public static CulturePreservingExecutionContext Capture()
        {
            // ExecutionContext.SuppressFlow had been called - we expect
            // ExecutionContext.Capture() to return null, so match that
            // behavior and return null.
            if (ExecutionContext.IsFlowSuppressed())
            {
                return(null);
            }

            var culturePreservingContext = new CulturePreservingExecutionContext();

            if (culturePreservingContext._context != null)
            {
                return(culturePreservingContext);
            }
            else
            {
                // If ExecutionContext.Capture() returns null for any other
                // reason besides IsFlowSuppressed, then match that behavior
                // and return null
                culturePreservingContext.Dispose();
                return(null);
            }
        }