コード例 #1
0
ファイル: MQHandler.cs プロジェクト: wainstein/PLCTools
        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("");
            }
        }
コード例 #2
0
ファイル: MQHandler.cs プロジェクト: wainstein/PLCTools
        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);
            }
        }