C#如何实现MSMQ的序列化和反序列化

   2024-10-01 7980
核心提示:在C#中实现MSMQ的序列化和反序列化可以通过使用BinaryFormatter进行序列化和反序列化操作。以下是一个简单的示例代码:using Sys

在C#中实现MSMQ的序列化和反序列化可以通过使用BinaryFormatter进行序列化和反序列化操作。以下是一个简单的示例代码:

using System;using System.Messaging;using System.IO;using System.Runtime.Serialization.Formatters.Binary;namespace MSMQSerialization{    public class MessageObject    {        public string Message { get; set; }    }    class Program    {        static void Main(string[] args)        {            MessageObject messageObj = new MessageObject();            messageObj.Message = "Hello MSMQ!";            // 序列化消息对象            BinaryFormatter formatter = new BinaryFormatter();            MemoryStream stream = new MemoryStream();            formatter.Serialize(stream, messageObj);            // 发送消息到MSMQ队列            MessageQueue queue = new MessageQueue(@".\Private$\MyQueue");            Message message = new Message();            message.BodyStream = stream;            queue.Send(message);            // 从MSMQ队列接收消息并反序列化            Message receivedMessage = queue.Receive();            receivedMessage.BodyStream.Position = 0;            MessageObject receivedObj = (MessageObject)formatter.Deserialize(receivedMessage.BodyStream);            Console.WriteLine("Received message: " + receivedObj.Message);            queue.Close();        }    }}

在这个示例中,我们首先创建了一个MessageObject类来存储消息内容。然后我们使用BinaryFormatter来序列化MessageObject对象,并将序列化后的数据发送到MSMQ队列。接着从队列中接收消息,并通过反序列化操作将消息内容提取出来并打印出来。

请注意,这里的示例只是一个简单的示例,实际生产环境中可能需要更复杂的消息对象和处理逻辑。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号