Delen via


Berichtverwerking buiten bestelling

Werkstroomservices kunnen afhankelijk zijn van berichten die in een specifieke volgorde worden verzonden. Een werkstroomservice bevat een of meer Receive activiteiten en elke Receive activiteit verwacht een specifiek bericht. Zonder bepaalde garanties voor transportbezorging kunnen berichten die door klanten worden verzonden, worden vertraagd en daarom in een bestelling geleverd die de werkstroomservice niet verwacht. Het implementeren van een werkstroomservice waarvoor geen berichten in een specifieke volgorde moeten worden verzonden, wordt normaal gesproken uitgevoerd met behulp van een parallelle activiteit. Voor een gecompliceerder toepassingsprotocol zou de werkstroom zeer snel complex worden. Met de out-of-order message processing-functie in Windows Communication Foundation (WCF) kunt u een dergelijke werkstroom maken zonder alle complexiteit van geneste parallelle activiteiten. Berichtverwerking buiten de order wordt alleen ondersteund op kanalen die ondersteuning bieden ReceiveContext voor wcf MSMQ-bindingen.

Berichtverwerking buiten volgorde inschakelen

Berichtverwerking buiten de order wordt ingeschakeld door de AllowBufferedReceive eigenschap true in te stellen op de WorkflowService. In het volgende voorbeeld ziet u hoe u de AllowBufferedReceive eigenschap instelt in code.

// Code: Opt-in to Buffered Receive processing...  
WorkflowService service = new WorkflowService  
{  
    Name="MyService",  
    Body = workflow,  
    AllowBufferedReceive = true  
};  

U kunt het AllowBufferedReceive kenmerk ook toepassen op een werkstroomservice in XAML, zoals wordt weergegeven in het volgende voorbeeld.

// Xaml: Opt-in to Buffered Receive processing...  
<WorkflowService AllowBufferedReceive="True">  
   <!--the actual children activities -->  
</Sequence>  

Zie ook