gpt4 book ai didi

c# - 异常后重新发送到 MSMQ

转载 作者:行者123 更新时间:2023-11-30 14:44:34 24 4
gpt4 key购买 nike

我试图在抛出异常时将消息放回 MSMQ。以下代码似乎有效,但消息未放回队列中?

Message msg = null;
try
{
MessageQueue MQueue = new MessageQueue(txtMsgQPath.Text);
msg = MQueue.ReceiveById(txtQItemToRead.Text);
lblMsgRead.Text = msg.Body.ToString(); // This line throws exception
}
catch (Exception ex)
{
lblMsgRead.Text = ex.Message;
if (msg != null)
{
MessageQueue MQ = new MessageQueue(txtMsgQPath.Text);
MQ.Send(msg);
}
}

最佳答案

几点:最好的方法是使用跨越两个队列的事务;这样您就不会丢失消息。

第二部分是注意队列的创建方式以及向第二个队列提交消息的方式。特别是,MSMQ 在发送消息时有时会出现“静默失败”(尽管实际上死信队列中的其他地方记录了一条错误消息),尤其是在发送的事务选项与目标的事务性质不匹配的情况下排队。

关于c# - 异常后重新发送到 MSMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com