static void Main(string[] args) { var channelName = "CartPreviewCreated"; var producer = new RedisProducer(); var eventRaiserTasks = new List <Task>(); var consumer = new RedisConsumer(); var queue = consumer.Consume(channelName); var messageCount = 0; queue.OnMessage(x => { ClearCurrentConsoleLine(); var content = $"<{x.Channel}>: {x.Message} delivered at {DateTime.Now.ToString("dd.MM.yyyy-HH:mm:ss")}>"; Console.WriteLine(content); Console.WriteLine($"{++messageCount} messages delivered."); Console.SetCursorPosition(0, Console.CursorTop - 1); }); for (int i = 0; i < 1000; i++) { eventRaiserTasks.Add(producer.ProduceAsync(channelName, $"ThrowTime:{DateTime.Now.ToString("dd.MM.yyyy-HH:mm:ss")} at order {i + 1}. with {Guid.NewGuid()}.")); } Task.WhenAll(); Console.ReadKey(); }
static void Main(string[] args) { try { //// 啟動redis發布訂閱中樞 RedisFactory.Start(NoSqlService.RedisConnections, NoSqlService.RedisAffixKey, NoSqlService.RedisDataBase); ////訂閱關注Topics var consumer = new RedisConsumer(ConfigHelper.SubscribTopics, new PubSubDispatcher <RedisEventStream>(AutofacConfig.Container)); consumer.Register(); //// 發布事件 RedisProducer.Publish("A", new AEvent() { Message = $"{nameof(AEvent)}:{DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")}" }); RedisProducer.Publish("B", new AEvent() { Message = $"{nameof(BEvent)}:{DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")}" }); RedisProducer.Publish("C", new AEvent() { Message = $"{nameof(CEvent)}:{DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")}" }); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); AutofacConfig.RegisterContainer(); var channels = ConfigHelper.RedisSubChannels.Split(','); var consumer = new RedisConsumer( channels, new PubSubDispatcher <RedisEventStream>()); consumer.Start(); Application.Run(new Form1()); }