MSMQ 消息已收到并正在消失
MSMQ Message Received and being disappearing
在我的情况下,在 Win2008R2 上,MSMQ 在 IIS 2.0(集成模式)中成功接收到来自已配置网站的消息,但是在 1-2 分钟内,所有消息都从 MSMQ 中消失了,这还不清楚为什么?
我还尝试使用 visual studio 调试相同的进程,并且通过 VS Web 服务器在 MSMQ 中创建的消息仍然存在于 Windows 8.1 系统上,这没问题。
所以在我们的案例中,只有从网站 (IIS 2.0) 收到的消息有问题,并且这些消息正在消失。
问题已通过使用以下代码解决:
无需更改 IIS 设置,这是代码问题。
// 查看并格式化消息。
msgQueue.Formatter = new BinaryMessageFormatter();
Message myMessage = msgQueue.Peek(new TimeSpan(0, 0, 3));
MailMessage mailMessage = (myMessage.Body as SerializeableMailMessage).GetMailMessage();
if (SendMail(mailMessage))
{
msgQueue.Receive();
}
在我的情况下,在 Win2008R2 上,MSMQ 在 IIS 2.0(集成模式)中成功接收到来自已配置网站的消息,但是在 1-2 分钟内,所有消息都从 MSMQ 中消失了,这还不清楚为什么?
我还尝试使用 visual studio 调试相同的进程,并且通过 VS Web 服务器在 MSMQ 中创建的消息仍然存在于 Windows 8.1 系统上,这没问题。
所以在我们的案例中,只有从网站 (IIS 2.0) 收到的消息有问题,并且这些消息正在消失。
问题已通过使用以下代码解决:
无需更改 IIS 设置,这是代码问题。
// 查看并格式化消息。
msgQueue.Formatter = new BinaryMessageFormatter();
Message myMessage = msgQueue.Peek(new TimeSpan(0, 0, 3));
MailMessage mailMessage = (myMessage.Body as SerializeableMailMessage).GetMailMessage();
if (SendMail(mailMessage))
{
msgQueue.Receive();
}