0

我正在编写一个使用 SSB 队列与其他系统通信的 C# 应用程序。当接收到来自 SSB 队列的消息时,我并不总是确定自己能够处理它。因此,我想查看队列(或者可能只是被通知有一条消息,而不一定是它的内容),但同时使用 SSB 语法,包括 WAITFOR。

这样做的原因是我想 100% 确定不会丢失任何消息,即使接收者遇到某种不可恢复的故障。另一种解决方案可能是将其包装在事务中,但这需要更多的代码更改,而不仅仅是 peek 调用。如果有人有任何替代解决方案来确保不会丢失数据,我会全力以赴。

4

1 回答 1

0

您应该首先收到消息,然后决定是否可以处理它。如果你不能,“写一条日志消息并退出”——但提交接收事务。如果您回滚事务(或者只是按照您的意图查看队列),您最终会遇到无法在队列中处理的消息并且您无限期地继续查看(或接收/回滚)它的情况。

于 2010-06-02T15:53:19.640 回答