C#基础之 --- 消息队列例子

这篇博客介绍了如何在C#中创建和操作消息队列。内容包括在本地设置消息队列的步骤,以及如何向远程计算机的消息队列发送消息的详细过程。
摘要由CSDN通过智能技术生成

本机上创建一个消息队列:

namespace XXX.XXX.MSMQBuilder
{
    class Program
    {
        static void Main(string[] args)
        {
            MessageQueue mq = null;
            //显示创建自身的消息队列
            const string queueName = @".\Private$\jiyiqin";
            if (!MessageQueue.Exists(queueName))
            {
                mq = System.Messaging.MessageQueue.Create(queueName);
                Console.WriteLine("创建消息队列完成:" + queueName);
            }
            else
            {
                mq = new System.Messaging.MessageQueue(queueName);
            }
            mq.SetPermissions("Administrator", MessageQueueAccessRights.FullControl);
            mq.SetPermissions("ANONYMOUS LOGON", MessageQueueAccessRights.FullControl);
            mq.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
        }
    }
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 C# 实现一个简单的消息队列示例代码: ```csharp using System; using System.Collections.Generic; public class MessageQueue<T> { private readonly Queue<T> queue = new Queue<T>(); public void Enqueue(T message) { lock (queue) { queue.Enqueue(message); System.Console.WriteLine("Enqueue message: " + message); } } public T Dequeue() { T message = default(T); lock (queue) { if (queue.Count > 0) { message = queue.Dequeue(); System.Console.WriteLine("Dequeue message: " + message); } } return message; } } // 测试 public class TestMessageQueue { public static void Main() { MessageQueue<string> queue = new MessageQueue<string>(); // 生产者 new System.Threading.Thread(() => { for (int i = 0; i < 10; i++) { string message = "Message " + i; queue.Enqueue(message); System.Threading.Thread.Sleep(1000); } }).Start(); // 消费者 new System.Threading.Thread(() => { while (true) { string message = queue.Dequeue(); if (message != null) { System.Console.WriteLine("Processing message: " + message); } System.Threading.Thread.Sleep(500); } }).Start(); Console.ReadLine(); } } ``` 以上代码实现了一个简单的消息队列,其中 `MessageQueue` 类封装了一个基于队列的消息存储和操作方法。`Enqueue` 方法用于将消息加入队列中,`Dequeue` 方法用于从队列中取出一条消息。在测试代码中,使用两个线程模拟生产者和消费者的操作。生产者每隔 1 秒钟产生一条消息,并加入到消息队列中;消费者则不断从消息队列中取出消息,并进行处理。运行程序后可以看到,生产者和消费者的操作是异步的,消息队列可以缓存大量的消息,并支持解耦和异步处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值