我正在从事一项任务,我试图确保按照写入的顺序将数据传送到数据库。数据库将位于另一台机器上,当发送计算机继续排队数据库消息时,数据库机器可能会发生故障。
我正在尝试将 WCF 用于此任务,并且从我最初的阅读来看,我认为这可能会使用带有消息队列和启用 ReceiveContext 的通道的 WCF。该文档指出 ReceiveContext '使应用程序能够决定是访问消息还是将其留在队列中以进行进一步处理。
我遇到的问题是,如果我调用 Abandon 方法指示消息没有被成功处理并且应该留在队列中,WCF 似乎将消息放在队列的后面而不是留在队列中队列的前面。因为我需要按照它们最初发送的顺序将消息写入数据库,所以这个解决方案不起作用。
有什么方法可以强制 WCF 在删除消息之前“偷看”消息,或者将放弃消息放在队列的前面?如果没有的话,任何人都可以提出一种方法来完成我正在尝试做的事情,而不必从头开始编写大量代码。
谢谢,艾尔