我有一个使用来自 MSMQ 队列的消息的应用程序。该应用程序使用 MSMQ 激活使用 AppFabric 在 IIS 中托管的 WCF 服务。
保留消息的顺序至关重要。但是 MSMQ 是否保证保留消息顺序?
在我看来,如果我的应用程序无法处理消息,例如由于与数据库的连接中断,那么消息将被移至重试队列。这允许应用程序从主队列接收新消息,直到原始消息从重试队列移回主队列。在一定数量的重试间隔后,邮件被移动到毒队列。但是,如果应用程序处理新消息,那么毒队列处理根本就不是一种选择。
因此消息的顺序没有被保留。
我对如何处理应用程序错误的理解有误吗?
我是否可以设置绑定以保留消息顺序,在消息处理暂时失败的情况下也是如此?