예제 #1
0
        private Boolean SendMessage(string varQueue, object varMessage)
        {
            Logging log = new Logging(varQueue + ": " + varMessage);

            try
            {
                MSMQQueueInfo info = new MSMQQueueInfo
                {
                    PathName = ".\\PRIVATE$\\" + varQueue.ToString()
                };
                MSMQQueue   queue   = info.Open((int)MQACCESS.MQ_SEND_ACCESS, (int)MQSHARE.MQ_DENY_NONE);
                MSMQMessage message = new MSMQMessage();
                message = new MSMQMessage
                {
                    Label = varMessage.ToString(),
                    Body  = varMessage.ToString()
                };
                message.Send(queue);
                queue.Close();
                log.Success();
                return(true);
            }
            catch (Exception ex)
            {
                log.Fatal(ex);
                return(false);
            }
        }
예제 #2
0
        public string ReceiveMessage(object varQueue, object varMessageLabel)
        {
            Logging log = new Logging
            {
                Command = varQueue + ":" + varMessageLabel
            };

            try
            {
                string        strMessageLabel = varMessageLabel.ToString();
                MSMQQueueInfo info            = new MSMQQueueInfo
                {
                    PathName = ".\\PRIVATE$\\" + varQueue.ToString()
                };
                MSMQQueue   queue   = info.Open((int)MQACCESS.MQ_RECEIVE_ACCESS, (int)MQSHARE.MQ_DENY_NONE);
                MSMQMessage message = queue.Receive(ReceiveTimeout: 1000);
                if (message != null)
                {
                    log.Success(Convert.ToString(message.Body));
                    return(log.Information);
                }
                else
                {
                    return("");
                }
            }
            catch (Exception ex)
            {
                log.Fatal(ex);
                return("");
            }
        }
        public List <MSMQMessage> ItemsExpired()
        {
            List <MSMQMessage> _msgList = new List <MSMQMessage>();

            if (MessageQueue.Exists(MSG_QUEUE))
            {
                _msgQueue = new MessageQueue(MSG_QUEUE);
            }
            else
            {
                throw new Exception("Message Queue does not exist");
            }

            foreach (Message _message in _msgQueue.GetAllMessages())
            {
                MSMQMessage _msmqmessage = new MSMQMessage();

                _msmqmessage.Label = _message.Label;
                _message.Formatter = new XmlMessageFormatter(new String[] { "System.String,mscorlib" });
                _msmqmessage.Body  = _message.Body.ToString();
                _msgList.Add(_msmqmessage);
            }

            return(_msgList);
        }