用C# 写一个消息队列
时间: 2023-11-23 21:01:45 浏览: 174
在C#中,可以使用System.Messaging命名空间中的MessageQueue类来创建消息队列。以下是一个简单的示例代码,演示如何创建和发送消息到消息队列中:
```csharp
using System.Messaging;
// 创建消息队列
MessageQueue queue = null;
if (!MessageQueue.Exists(@".\MyQueue"))
{
queue = MessageQueue.Create(@".\MyQueue");
}
else
{
queue = new MessageQueue(@".\MyQueue");
}
// 发送消息到队列中
Message message = new Message("Hello, World!");
queue.Send(message);
```
在上面的代码中,我们首先检查是否已经存在名称为“MyQueue”的消息队列。如果不存在,则创建一个新的队列。然后,我们创建一个包含“Hello, World!”文本内容的消息,并将其发送到队列中。
为了从队列中读取消息,我们可以使用以下代码:
```csharp
// 从队列中接收消息
MessageQueue queue = new MessageQueue(@".\MyQueue");
Message message = queue.Receive();
Console.WriteLine(message.Body.ToString());
```
在这里,我们创建一个新的MessageQueue对象来引用我们之前创建的队列。然后,我们调用Receive()方法来从队列中获取下一个可用的消息。最后,我们使用Console.WriteLine()方法将消息的内容打印到控制台上。
需要注意的是,消息队列是一种异步通信机制,因此在发送消息之前,您应该确保接收方已经启动并准备好接收消息。如果消息队列中没有可用的接收方,则发送操作将会失败。
阅读全文