Elaborazione di messaggi nell'ordine non correttoOut-of-Order Message Processing

I servizi flusso di lavoro possono dipendere da messaggi inviati in un ordine specifico.Workflow services may depend on messages being sent in a specific order. Un servizio flusso di lavoro contiene una o più attività Receive e ogni attività Receive attende un messaggio specifico.A workflow service contains one or more Receive activities and each Receive activity is expecting a specific message. Senza particolari garanzie di recapito di trasporto, i messaggi inviati dai client possono essere differiti e pertanto recapitati in un ordine inatteso dal servizio flusso di lavoro.Without particular transport delivery guarantees, messages sent by clients may be delayed and therefore delivered in an order the workflow service may not expect. L'implementazione di un servizio flusso di lavoro che non richiede l'invio di messaggi in un ordine specifico viene in genere effettuata mediante un'attività Parallel.Implementing a workflow service that does not require messages be sent in a specific order is normally done using a Parallel activity. Per un protocollo dell'applicazione più complicato, il flusso di lavoro diverrebbe rapidamente molto complesso.For a more complicated application protocol, the workflow would become very complex very quickly. Il messaggio in ordine l'elaborazione di funzionalità in Windows Communication Foundation (WCF) consente di creare un flusso di lavoro simile senza la complessità dell'attività Parallel annidate.The out-of-order message processing feature in Windows Communication Foundation (WCF) allows you to create such a workflow without all of the complexity of nested Parallel activities. L'elaborazione dei messaggi in ordine è supportato solo in canali che supportano ReceiveContext , ad esempio le associazioni WCF MSMQ.Out-of-order message processing is only supported on channels that support ReceiveContext such as the WCF MSMQ bindings.

Abilitazione dell'elaborazione di messaggi nell'ordine non correttoEnabling Out-Of-Order Message Processing

L'elaborazione dei messaggi nell'ordine non corretto viene abilitata impostando la proprietà AllowBufferedReceive su true in WorkflowService.Out-of-order message processing is enabled by setting the AllowBufferedReceive property to true on the WorkflowService. Nell'esempio riportato di seguito viene illustrato come impostare la proprietà AllowBufferedReceive nel codice.The following example shows how to set the AllowBufferedReceive property in code.

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

È inoltre possibile applicare l'attributo AllowBufferedReceive a un servizio flusso di lavoro in XAML, come indicato nell'esempio seguente.You can also apply the AllowBufferedReceive attribute to a workflow service in XAML as shown in the following example.

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

Vedere ancheSee Also

ReceiveContext
Servizi flusso di lavoroWorkflow Services
Code e sessioni affidabiliQueues and Reliable Sessions