[英]MSMQ: Does MSMQ guarantees sequential message passing?
负载测试后,我发现一些数据包不是顺序的。
它是一个基本的WCF服务,客户端不断发送请求。
使用netMsmqBinding可以保证(按顺序,完全一次)交付。
您需要做的第一件事是创建实际的MSMQ消息队列事务。
其次,您必须告诉WCF在事务中登记如下:
[OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
public void Handle(Something msg)
{
....
}
最后,您需要使用exactOnce绑定参数指定服务的保证行为:
<netMsmqBinding>
<binding name="netMsmqBinding_IMyServiceInterface"
exactlyOnce="true">
...
</binding>
</netMsmqBinding>
ExactlyOnce告诉WCF我们需要进行交易,每条消息将按照发送的顺序准确传送一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.