天天看點

C#中使用Windows消息隊列服務(MSMQ)簡單示例

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Messaging;

namespace WindowsApplication1

{

        public partial class Form1 : Form

        {

                public Form1()

                {

                        InitializeComponent();

                }

                string QueuePath = ".\\private$\\test";

                IMessageFormatter formatter = new System.Messaging.BinaryMessageFormatter();

                private void button1_Click(object sender, EventArgs e)

                        CreateMessageQueue(QueuePath);

                        SendMessage(QueuePath, CreateMessage(richTextBox1.Text, formatter));

                private void button2_Click(object sender, EventArgs e)

                        System.Messaging.Message msg = ReceiveMessage(QueuePath);

                        msg.Formatter = formatter;

                        richTextBox2.Text = msg.Body.ToString();

                private System.Messaging.Message CreateMessage(string text, IMessageFormatter formatter)

                        System.Messaging.Message message = new System.Messaging.Message();

                        message.Body = text;

                        message.Formatter = formatter;

                        return message;

                private void CreateMessageQueue(string queuePath)

                        if (!MessageQueue.Exists(queuePath))

                        {

                                MessageQueue queue = MessageQueue.Create(queuePath);

                                queue.SetPermissions("Administrators", MessageQueueAccessRights.FullControl);

                                queue.Label = queuePath;

                        }

                private bool SendMessage(string queuePath, System.Messaging.Message msg)

                                return false;

                        MessageQueue queue = new System.Messaging.MessageQueue(queuePath);

                        queue.Send(msg);

                        return true;

                private System.Messaging.Message ReceiveMessage(string queuePath)

                                return null;

                        MessageQueue queue = new MessageQueue(queuePath);

                        System.Messaging.Message message = queue.Receive();

        }

}

本文轉自 h2appy  51CTO部落格,原文連結:http://blog.51cto.com/h2appy/184323,如需轉載請自行聯系原作者

繼續閱讀