예제 #1
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);
        }
예제 #2
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);
        }
예제 #3
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);
        }