示例#1
0
        public async Task Should_be_able_to_send_struct()
        {
            var message     = DateTime.UtcNow;
            var messageType = typeof(DateTime);
            await sendReceive.SendAsync(Queue, message, messageType, configure);

#pragma warning disable 4014
            sendReceive.Received()
            .SendAsync(
                Arg.Is(Queue),
                Arg.Is(message),
                Arg.Is(configure),
                Arg.Any <CancellationToken>()
                );
#pragma warning restore 4014
        }
示例#2
0
        /// <summary>
        /// Send a message directly to a queue
        /// </summary>
        /// <typeparam name="T">The type of message to send</typeparam>
        /// <param name="sendReceive">The sendReceive instance</param>
        /// <param name="queue">The queue to send to</param>
        /// <param name="message">The message</param>
        /// <param name="cancellationToken">The cancellation token</param>
        public static Task SendAsync <T>(
            this ISendReceive sendReceive,
            string queue,
            T message,
            CancellationToken cancellationToken = default
            )
        {
            Preconditions.CheckNotNull(sendReceive, "sendReceive");

            return(sendReceive.SendAsync(queue, message, c => { }, cancellationToken));
        }
示例#3
0
 public static async Task SendBatchAsync <T>(
     this ISendReceive sendReceive,
     string queue,
     IEnumerable <T> messages,
     CancellationToken cancellationToken = default
     )
 {
     foreach (var message in messages)
     {
         await sendReceive.SendAsync(queue, message, cancellationToken).ConfigureAwait(false);
     }
 }
示例#4
0
        /// <summary>
        /// Send a message directly to a queue
        /// </summary>
        /// <typeparam name="T">The type of message to send</typeparam>
        /// <param name="sendReceive">The sendReceive instance</param>
        /// <param name="queue">The queue to send to</param>
        /// <param name="message">The message</param>
        /// <param name="configure">
        ///     Fluent configuration e.g. x => x.WithPriority(2)
        /// </param>
        /// <param name="cancellationToken">The cancellation token</param>
        public static void Send <T>(
            this ISendReceive sendReceive,
            string queue,
            T message,
            Action <ISendConfiguration> configure,
            CancellationToken cancellationToken = default
            )
        {
            Preconditions.CheckNotNull(sendReceive, "sendReceive");

            sendReceive.SendAsync(queue, message, configure, cancellationToken)
            .GetAwaiter()
            .GetResult();
        }
示例#5
0
 public virtual Task SendAsync <T>(string queue, T message)
     where T : class
 {
     return(sendReceive.SendAsync(queue, message));
 }
示例#6
0
 public virtual void SendAsync <T>(string queue, T message)
     where T : class
 {
     sendReceive.SendAsync(queue, message);
 }