Esempio n. 1
0
        internal static async Task ProcessMessage(IDemoMessage message, TimeSpan processTime, Priority?priority)
        {
            string priorityStr = priority.HasValue ? priority.ToString() : string.Empty;

            Helper.WriteLine($"Received message: {message.Value}, priority = {priorityStr}", ConsoleColor.White);
            await Task.Delay(processTime);
        }
Esempio n. 2
0
        public static Message CreateAzureMessage(TimeSpan?timeToLive = null)
        {
            IDemoMessage demoMsg = CreateMessage();

            return(new Message(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(demoMsg)))
            {
                ContentType = "application/json",
                MessageId = demoMsg.Id,
                TimeToLive = timeToLive ?? Consts.DefaultMessageTimeToLive
            });
        }
Esempio n. 3
0
        public async Task SendMessagesAsync(CancellationToken token)
        {
            _bus = await Helper.StartBusControlFluent();

            Helper.WriteLine("Started sending messages.", ConsoleColor.Magenta);
            while (!token.IsCancellationRequested)
            {
                Priority     priority = Program.GetPriority();
                IDemoMessage message  = Helper.CreateMessage();
                await _bus.Publish <IDemoMessage>(message, ctx =>
                {
                    ctx.TimeToLive = Consts.DefaultMessageTimeToLive;
                    ctx.Headers.Set(Helper.PriorityKey, priority.ToString());
                });

                Helper.WriteLine($"Message sent: Id = {message.Id}, Priority = {priority}", ConsoleColor.Yellow);
                await Task.Delay(_options.ProcessTime);
            }
        }
Esempio n. 4
0
 internal static async Task ProcessMessage(IDemoMessage message, TimeSpan processTime)
 {
     Helper.WriteLine($"Received message: {message.Id} | {message.Value}", ConsoleColor.White);
     await Task.Delay(processTime);
 }