Example #1
0
        /// <summary>
        /// Abandons a message by returning it to the queue.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="message">The message we want to abandon.</param>
        /// <param name="propertiesToModify">The message properties to modify on abandon.</param>
        /// <returns>The async <see cref="T:System.Threading.Tasks.Task" /> wrapper.</returns>
        public async Task Abandon <T>(T message, KeyValuePair <string, object>[] propertiesToModify) where T : class
        {
            var msg = (MessageEntity <T>)Messages[message];
            await ReceiverQueue.UpdateMessageAsync(msg.OriginalMessage, TimeSpan.FromSeconds(10),
                                                   MessageUpdateFields.Content | MessageUpdateFields.Visibility);

            Messages.TryRemove(message, out _);
        }
Example #2
0
        /// <summary>
        /// Abandons the specified message.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="message">The message.</param>
        /// <returns>Task.</returns>
        public async Task Abandon <T>(T message) where T : class
        {
            var msg = (MessageEntity <T>)Messages[message];
            await ReceiverQueue.UpdateMessageAsync(msg.OriginalMessage, TimeSpan.FromSeconds(10),
                                                   MessageUpdateFields.Content | MessageUpdateFields.Visibility);

            Messages.TryRemove(message, out _);
        }