作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在远程 MSMQ 中使用事务时,出现错误“在指定的队列中找不到请求的消息”。如果事务被删除或者队列被移动到同一台机器,一切正常。队列在 Windows 2008 机器上,客户端(如下所示的代码)在 Windows 7 机器上运行。
//Throws above error
using (MessageQueueTransaction mqTxn = new MessageQueueTransaction())
{
mqTxn.Begin();
Message message = messageQueue.ReceiveById(peekedMessage.Id, mqTxn);
mqTxn.Abort();
}
//Throws above error
using (TransactionScope txnScope = new TransactionScope())
{
Message message = messageQueue.ReceiveById(peekedMessage.Id, MessageQueueTransactionType.Automatic);
}
//Works fine
Message message = messageQueue.ReceiveById(peekedMessage.Id);
最佳答案
MessageQueueTransaction 只能用于内部事务,因此它在远程队列情况下不起作用。
第二种方式(使用 TransactionScope)会在使用 DTC 时起作用。 DTC 应该在两端运行并正确配置。默认情况下,DTC 在 Windows 2008 和 Windows 7 中都是关闭的。另外,如果防火墙打开,则将 DTC 放入异常(exception)列表中。一旦完成,它就像一个魅力。
关于.net - 远程 MSMQ、事务和 ReceiveById 失败 - "Message requested was not found in the queue specified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383378/
每秒仅 20 条消息!这就是我的全部!下面是从队列中查看 50 条消息并使用 ReceiveById 并行接收它们的代码。队列中的消息总数为 500。我也测试了其他数字。但上限是每秒 20 条消息!我
在远程 MSMQ 中使用事务时,出现错误“在指定的队列中找不到请求的消息”。如果事务被删除或者队列被移动到同一台机器,一切正常。队列在 Windows 2008 机器上,客户端(如下所示的代码)在 W
我是一名优秀的程序员,十分优秀!