⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 MSMQ之使用範例程式
💻 CS
字号:
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 MSMQ.Priority
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            //连接到本地的专用队列myQueue
            MessageQueue myQueue = new MessageQueue(".\\private$\\myQueue");
            System.Messaging.Message message = new System.Messaging.Message();
            message.Label = tbName.Text;
            message.Body = tbContext.Text;

            if (cbPriority.Checked)
            {
                message.Priority = MessagePriority.Highest;
            }
            else
            {
                message.Priority = MessagePriority.Normal;
            }
            myQueue.Send(message);
            MessageBox.Show("成功发送消息到队列");
        }

        private void btnRec_Click(object sender, EventArgs e)
        {
            DisplayMessage();
        }

        private void DisplayMessage()
        {
            //连接到本地队列
            MessageQueue myQueue = new MessageQueue(".\\private$\\myQueue");
            myQueue.MessageReadPropertyFilter.Priority = true;
            DataTable messageTable = new DataTable();
            messageTable.Columns.Add("名字");
            messageTable.Columns.Add("消息内容");
            messageTable.Columns.Add("优先级");
            XmlMessageFormatter formatter = new XmlMessageFormatter(new string[] { "System.String" });
            try
            {
                //从队列中接收消息
                System.Messaging.Message[] messages = myQueue.GetAllMessages();
                for (int index = 0; index < messages.Length; index++)
                {
                    messages[index].Formatter = formatter;

                    string label = messages[index].Label;
                    string body = messages[index].Body.ToString();
                    string priority = messages[index].Priority.ToString();

                    messageTable.Rows.Add(new string[] { label, body, priority });
                }
                this.dgvMessage.DataSource = messageTable;
            }
            catch (MessageQueueException e1)
            {
                MessageBox.Show(e1.Message);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -