/ / MSMQ: MSMQ гарантира последователното предаване на съобщения? - c #, msmq, msmq-wcf

MSMQ: MSMQ гарантира ли преминаването на последователни съобщения? - c #, msmq, msmq-wcf

След тестване на натоварването открих, че някои пакети не са последователни.

това е основна услуга на WCF, а клиентът непрекъснато изпраща заявката.

Отговори:

0 за отговор № 1

Възможно е да има гарантирана (по поръчка, точно веднъж) доставка, използвайки netMsmqBinding.

Първото нещо, което трябва да направите, е да създадете действителната опашка за съобщения MSMQ за транзакции.

Второ, трябва да кажете на WCF да се включи в транзакцията така:

[OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
public void Handle(Something msg)
{
....
}

И накрая, трябва да посочите гарантирано поведение на услугата, като използвате параметъра exactOnce:

<netMsmqBinding>
<binding name="netMsmqBinding_IMyServiceInterface"
exactlyOnce="true">
...
</binding>
</netMsmqBinding>

Точно след това казва на WCF, че изискваме транзакции, че всяко съобщение ще бъде доставено точно веднъж и в реда, в който са били изпратени.