Ejemplo n.º 1
0
        /// <summary>
        /// 发送一个消息到消息队列中,与Receive配对使用
        /// </summary>
        /// <param name="message">消息实体</param>
        /// <returns></returns>
        public void Send <T>(Message <T> message)
        {
            T      content    = message.Content;
            string strContent = Newtonsoft.Json.JsonConvert.SerializeObject(content);

            RedisList.LPush(QueueName, strContent);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 从消息队列中获取一个消息,与Send配对使用
        /// </summary>
        /// <returns>返回一个字符串消息</returns>
        public string Receive()
        {
            string message = string.Empty;

            try
            {
                message = RedisList.BlockingPopItemFromList(QueueName, (new TimeSpan(0, 0, 30)));
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(message);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 从消息队列中获取一个消息,与SendT配对使用
        /// T为自定义的消息实体
        /// </summary>
        /// <returns>返回一个消息实体</returns>
        public T ReceiveT <T>()
        {
            T message = default(T);

            try
            {
                string msg = RedisList.BlockingPopItemFromList(QueueName, (new TimeSpan(0, 0, 30)));
                message = Newtonsoft.Json.JsonConvert.DeserializeObject <T>(msg);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(message);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 从消息队列中获取一个消息,与Send配对使用
        /// </summary>
        /// <returns>返回一个消息实体</returns>
        public Message <T> Receive <T>()
        {
            Message <T> msgObject = new Message <T>();

            // T content=default(T);
            try
            {
                string msg = RedisList.BlockingPopItemFromList(QueueName, (new TimeSpan(0, 0, 30)));
                msgObject.Content = Newtonsoft.Json.JsonConvert.DeserializeObject <T>(msg);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(msgObject);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 发送一个消息到消息队列中,与ReceiveT配对使用
        /// T为自定义消息实体
        /// </summary>
        /// <param name="message">自定义消息实体</param>
        /// <returns></returns>
        public void SendT <T>(T message)
        {
            string strContent = Newtonsoft.Json.JsonConvert.SerializeObject(message);

            RedisList.LPush(QueueName, strContent);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 发送一个字符串消息到消息队列中,与string Receive配对使用
 /// </summary>
 /// <param name="message">字符串消息</param>
 /// <returns></returns>
 public void Send(string message)
 {
     RedisList.LPush(QueueName, message);
 }