在C#中實(shí)現(xiàn)MSMQ的持久化可以通過設(shè)置消息隊(duì)列的屬性來實(shí)現(xiàn)。以下是一個(gè)簡單的示例:
using System;
using System.Messaging;
class Program
{
static void Main()
{
// 創(chuàng)建一個(gè)消息隊(duì)列
MessageQueue queue = new MessageQueue(".\\private$\\MyQueue");
// 設(shè)置消息隊(duì)列的屬性,使得消息持久化
queue.DefaultPropertiesToSend.Recoverable = true;
// 發(fā)送消息
Message message = new Message();
message.Body = "Hello, World!";
queue.Send(message);
// 接收消息
Message receivedMessage = queue.Receive();
Console.WriteLine("Received message: " + receivedMessage.Body);
// 關(guān)閉消息隊(duì)列
queue.Close();
}
}
在上面的示例中,通過設(shè)置Recoverable
屬性為true
,實(shí)現(xiàn)了消息的持久化。這樣即使在消息隊(duì)列服務(wù)重啟之后,消息依然會(huì)被保留下來。同時(shí),使用Send
方法發(fā)送消息,使用Receive
方法接收消息。