След тестване на натоварването открих, че някои пакети не са последователни.
това е основна услуга на 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, че изискваме транзакции, че всяко съобщение ще бъде доставено точно веднъж и в реда, в който са били изпратени.