コード例 #1
0
        /// <summary>
        /// This instance method dequeues multiple messages from a queue using the supplied dequeue options.
        /// </summary>
        /// <param name="count"></param>
        /// <param name="options"></param>
        public Task <OracleAQMessage[]> DequeueArrayAsync(int count, OracleAQDequeueOptions options, CancellationToken cancellationToken = default)
        {
            switch (MessageType)
            {
            case OracleAQMessageType.Raw:
                return(OracleAQQueueUtil.DequeueRawArrayAsync(this, options, count, log, cancellationToken));

            case OracleAQMessageType.UDT:
                return(OracleAQQueueUtil.DequeueUdtArrayAsync(this, options, count, log, cancellationToken));

            case OracleAQMessageType.Xml:
                return(OracleAQQueueUtil.DequeueXmlArrayAsync(this, options, count, log, cancellationToken));

            default:
                throw new InvalidOperationException();
            }
        }
コード例 #2
0
 /// <summary>
 /// This instance method dequeues multiple messages from a queue using the supplied dequeue options.
 /// </summary>
 /// <param name="count"></param>
 /// <param name="options"></param>
 public OracleAQMessage[] DequeueArray(int count, OracleAQDequeueOptions options, CancellationToken cancellationToken = default)
 {
     return(OracleAQQueueUtil.DequeueUdtArrayAsync(this, options, count, log, cancellationToken).Result);
 }