【发布时间】:2011-04-23 19:27:03
【问题描述】:
MSMQ 排队消息能否在服务/服务器重新启动后继续存在?我的意思是,如果队列有消息并且服务器要经历硬重启,那么重启后消息在队列中是否仍然可用?
【问题讨论】:
标签: c# .net msmq distributed
MSMQ 排队消息能否在服务/服务器重新启动后继续存在?我的意思是,如果队列有消息并且服务器要经历硬重启,那么重启后消息在队列中是否仍然可用?
【问题讨论】:
标签: c# .net msmq distributed
为此,您必须将邮件标记为可恢复。默认情况下,MSMQ 消息仅保存在内存中,但可恢复消息被备份到磁盘以启用可靠的 MSMQ 消息传递。
using System.Messaging;
Message recoverableMessage = new Message();
recoverableMessage.Body = "Sample Recoverable Message";
recoverableMessage.Recoverable = true;
MessageQueue msgQ = new MessageQueue(@".\$private\Orders");
msgQ.Send(recoverableMessage);
Reliable Messaging with MSMQ and .NET 对此区域进行了概述。
事务性消息不需要手动标记为可恢复 - 这隐含在它们是基于 MSMQ 的事务的一部分这一事实中。
【讨论】: