微软专用消息队列msmq的简单使用

发送消息

        string path = "FormatName:Direct=TCP:192.168.5.52\private$\queue";
        //string path = ".\Private$\queue";//本地msmq
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="path"></param>
        public void SendMessage(string path)
        {
            try
            {
                MessageQueue myQueue = new MessageQueue(path);
                System.Messaging.Message mes = new System.Messaging.Message();
                mes.Body = textBox1.Text;
                mes.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
                myQueue.Send(mes);
                MessageBox.Show("发送成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

接收消息

        string path = "FormatName:Direct=TCP:192.168.5.52\private$\queue";
        private void Form1_Load(object sender, EventArgs e)
        {
            MessageQueue myQueue = new MessageQueue(path);
            while (1 == 1)
            {
                try
                {
                    
                    System.Messaging.Message mes = myQueue.Receive();
                    mes.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
                    MessageBox.Show(mes.Body.ToString());
                }
                catch (Exception e2)
                {
                    MessageBox.Show(e2.Message);
                }
            }
        }