我有一个应用程序,它从MSMQ队列中消费消息。该应用程序使用在IIS中托管的AppFabric中的WCF服务的MSMQ激活。
保留消息顺序至关重要,但是MSMQ是否保证消息顺序被保留?
如果我的应用程序无法处理消息(例如由于与数据库的连接断开),则似乎该消息将被移动到重试队列。这使得应用程序可以从主队列接收新消息,直到原始消息从重试队列移回主队列。在一定数量的重试间隔后,消息将被移动到毒丸队列。但是,如果应用程序处理新消息,则毒丸队列处理就不是选项。
因此,消息的顺序未被保留。
我对应用程序错误处理方式的理解有误吗?
我能否设置绑定以便在消息处理暂时失败的情况下也保留消息顺序?
保留消息顺序至关重要,但是MSMQ是否保证消息顺序被保留?
如果我的应用程序无法处理消息(例如由于与数据库的连接断开),则似乎该消息将被移动到重试队列。这使得应用程序可以从主队列接收新消息,直到原始消息从重试队列移回主队列。在一定数量的重试间隔后,消息将被移动到毒丸队列。但是,如果应用程序处理新消息,则毒丸队列处理就不是选项。
因此,消息的顺序未被保留。
我对应用程序错误处理方式的理解有误吗?
我能否设置绑定以便在消息处理暂时失败的情况下也保留消息顺序?