Ejemplo n.º 1
0
        /// <summary>
        /// 發布事件
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="topicName">發布Topic目標</param>
        /// <param name="data">事件內容</param>
        /// <param name="rmqExpiration">訊息存活時間(預設1天)</param>
        public static void Publish <T>(string topicName, T data, string rmqExpiration = "86400000")
        {
            var sub     = RedisFactory.RedisSubscriber;
            var content = new RedisEventStream(
                typeof(T).Name,
                JsonConvert.SerializeObject(data),
                TimeStampHelper.ToUtcTimeStamp(DateTime.Now));

            sub.Publish($"{RedisFactory.AffixKey}:{topicName}", JsonConvert.SerializeObject(content));
        }
Ejemplo n.º 2
0
        public static void Publish <T>(string channelName, T data)
        {
            var es = new RedisEventStream(
                typeof(T).Name,
                JsonConvert.SerializeObject(data),
                TimeStampHelper.ToUtcTimeStamp(DateTime.Now));

            var body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(es));

            NoSqlService.RedisConnections.GetSubscriber().Publish(channelName, body);
        }
 public void Handle(RedisEventStream stream)
 {
     try
     {
         var @event = JsonConvert.DeserializeObject <PressureTestContentEvent>(stream.Data);
         MessageBox.Show($"PressureTestContentEvent: {@event.Content} SendDateTime: {@event.CreateDateTime.ToString("yyyy:MM:dd HH:mm:ss.fff")} ReceiveDateTime: {DateTime.Now.ToString("yyyy:MM:dd HH:mm:ss.fff")}");
     }
     catch (Exception ex)
     {
         MessageBox.Show($"PressureTestContentEventHandler Exception:{ex.Message}");
     }
 }
Ejemplo n.º 4
0
        public void Handle(RedisEventStream stream)
        {
            var @event = JsonConvert.DeserializeObject <BEvent>(stream.Data);

            Console.WriteLine(@event.Message);
        }