Exemplo n.º 1
0
        /// <summary>
        /// 向消息队列发送一个消息
        /// </summary>
        /// <param name="address">地址,例如:FormatName:Direct=OS:.\private$\SKMQDEMO</param>
        /// <param name="smartMessageEntity">消息实体</param>
        public static void Send(string address, AgileMessageEntity agileMessageEntity)
        {
            //创建一个消息
            Message message = new Message();

            message.Label = agileMessageEntity.Label;
            message.Body  = agileMessageEntity.Body;

            //保存消息到队列中
            using (MessageQueue messageQueue = new MessageQueue(address))
            {
                messageQueue.Send(message);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 从消息队列取出一个消息,不移除消息
        /// </summary>
        /// <param name="address">地址,例如:FormatName:Direct=OS:.\private$\SKMQDEMO</param>
        /// <returns>返回消息实体</returns>
        public static AgileMessageEntity Peek(string address)
        {
            AgileMessageEntity agileMessageEntity = null;

            //取出一个消息进行处理
            using (MessageQueue messageQueue = new MessageQueue(address))
            {
                ((XmlMessageFormatter)messageQueue.Formatter).TargetTypeNames = new string[1] {
                    typeof(string).ToString()
                };
                Message message = messageQueue.Peek();
                agileMessageEntity = new AgileMessageEntity(message.Label, message.Body.ToString());
            }
            return(agileMessageEntity);
        }