以下是用 C# 语言手写的 MSMQ(微软消息队列)收发工具类示例:
using System; using System.Messaging; namespace MSMQTool { public class MsmqUtils { // 发送消息到指定队列 public static void SendMessage(string queuePath, string message) { if (!MessageQueue.Exists(queuePath)) { MessageQueue.Create(queuePath); } using (MessageQueue queue = new MessageQueue(queuePath)) { queue.Send(message); } } // 从指定队列接收消息 public static string ReceiveMessage(string queuePath) { if (!MessageQueue.Exists(queuePath)) { return null; } using (MessageQueue queue = new MessageQueue(queuePath)) { using (Message msg = queue.Receive()) { msg.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) }); return (string)msg.Body; } } } } }
你可以使用以下方式调用这个工具类:
class Program { static void Main() { string queuePath = @".\private$\MyQueue"; MsmqUtils.SendMessage(queuePath, "Hello, MSMQ!"); string receivedMessage = MsmqUtils.ReceiveMessage(queuePath); Console.WriteLine(receivedMessage); } }
在使用这个工具类时,确保你有适当的权限来访问和操作消息队列。同时,注意处理可能出现的异常情况,以保证程序的稳定性。
请注意,以上代码仅为示例,实际应用中你可能需要根据具体需求进行调整和扩展。