我们目前有一个问题,我们已将 WCF 服务设置为连接到 tibco EMS 服务器。在单实例模式下运行服务时(由于应用程序的运行方式,我们无法更改此设置)它总是会首先确认 2 条消息,即使它只处理了一条 - 这会导致一些消息被跳过。
[ServiceBehavior(
ConcurrencyMode = ConcurrencyMode.Single,
InstanceContextMode = InstanceContextMode.Single,
Namespace = "http://tempuri.org/test")]
public class MyService : IMyService
我已经逐步浏览了 Tibco EMS WCF 代码,可以看到私有 _deliveredList 字段中的底层 TIBCO.EMS.Session 类中有 2 条消息,即使我只处理了一条消息,它们都标记为需要 ACK。队列上有多少消息似乎并不重要,如果长度大于一,它总是会双重确认。
我使用以下配置应用了限制,但它似乎对发送的初始消息数量没有任何影响。
任何帮助将不胜感激。