示例#1
0
        public bool EndWaitForItem(IAsyncResult result)
        {
            TypedCompletedAsyncResult <bool> typedResult = result as TypedCompletedAsyncResult <bool>;

            if (typedResult != null)
            {
                return(TypedCompletedAsyncResult <bool> .End(result));
            }

            return(AsyncQueueWaiter.End(result));
        }
示例#2
0
        /// <summary>
        /// Finishes the async request.
        /// </summary>
        /// <param name="result">The result.</param>
        /// <returns></returns>
        public new static T End(IAsyncResult result)
        {
            TypedCompletedAsyncResult <T> completedResult = result as TypedCompletedAsyncResult <T>;

            if (completedResult == null)
            {
                throw new ArgumentException("Invalid async messageBody.", "messageBody");
            }

            return(TypedAsyncResult <T> .End(completedResult));
        }
示例#3
0
        public bool EndDequeue(IAsyncResult result, out T value)
        {
            TypedCompletedAsyncResult <T> typedResult = result as TypedCompletedAsyncResult <T>;

            if (typedResult != null)
            {
                value = TypedCompletedAsyncResult <T> .End(result);

                return(true);
            }

            return(AsyncQueueReader.End(result, out value));
        }