예제 #1
0
        public async Task PutAsync(params IMessage <T>[] messages)
        {
            if (messages is null)
            {
                throw new ArgumentNullException(nameof(messages));
            }

            // Max payload = 256KB (262,144 bytes)

            // Convert the message payload to JSON

            var serializer = new JsonSerializer();

            foreach (var batch in messages.Batch(10))
            {
                string[] messageBatch = new string[batch.Count];

                for (int i = 0; i < batch.Count; i++)
                {
                    messageBatch[i] = serializer.Serialize(batch[i].Body).ToString(pretty: false);
                }

                await client.SendMessageBatchAsync(url, messageBatch).ConfigureAwait(false);
            }
        }
예제 #2
0
        public async Task PutAsync(params IMessage <string>[] messages)
        {
            // Max payload = 256KB (262,144 bytes)

            foreach (var batch in messages.Batch(10))
            {
                await client.SendMessageBatchAsync(url, batch.Select(b => b.Body).ToArray()).ConfigureAwait(false);
            }
        }
예제 #3
0
        public async Task PutAsync(params IMessage <string>[] messages)
        {
            // Max payload = 256KB (262,144 bytes)

            foreach (List <IMessage <string> > batch in messages.Batch(10))
            {
                var bodyValues = new string[batch.Count];

                for (int i = 0; i < batch.Count; i++)
                {
                    bodyValues[i] = batch[i].Body;
                }

                await client.SendMessageBatchAsync(url, bodyValues).ConfigureAwait(false);
            }
        }
예제 #4
0
        public async Task PutAsync(params IMessage <T>[] messages)
        {
            // Max payload = 256KB (262,144 bytes)

            // Convert the message payload to JSON

            var serializer = new JsonSerializer();

            foreach (var batch in messages.Batch(10))
            {
                var messageBatch = batch.Select(m =>
                                                serializer.Serialize(m.Body).ToString(pretty: false)
                                                ).ToArray();

                await client.SendMessageBatchAsync(url, messageBatch).ConfigureAwait(false);
            }
        }