Zpracování zpráv mimo pořadí
Služby pracovních postupů můžou záviset na odesílání zpráv v určitém pořadí. Služba pracovního postupu obsahuje jednu nebo více Receive aktivit a každá Receive aktivita očekává určitou zprávu. Bez zvláštních záruk doručení přenosu mohou být zprávy odeslané klienty zpožděny, a proto doručeny v pořadí, ve které služba pracovního postupu neočekává. Implementace služby pracovního postupu, která nevyžaduje odeslání zpráv v určitém pořadí, se obvykle provádí pomocí paralelní aktivity. V případě složitějšího aplikačního protokolu by se pracovní postup velmi rychle stal velmi složitým. Funkce zpracování zpráv mimo pořadí ve Windows Communication Foundation (WCF) umožňuje vytvořit takový pracovní postup bez veškeré složitosti vnořených paralelních aktivit. Zpracování zpráv mimo pořadí je podporováno pouze v kanálech, které podporují ReceiveContext například vazby WCF MSMQ.
Povolení zpracování zpráv mimo pořadí
Zpracování zpráv mimo pořadí je povoleno nastavením AllowBufferedReceive vlastnosti true
na hodnotu WorkflowService. Následující příklad ukazuje, jak nastavit AllowBufferedReceive vlastnost v kódu.
// Code: Opt-in to Buffered Receive processing...
WorkflowService service = new WorkflowService
{
Name="MyService",
Body = workflow,
AllowBufferedReceive = true
};
Můžete také použít AllowBufferedReceive
atribut na službu pracovního postupu v XAML, jak je znázorněno v následujícím příkladu.
// Xaml: Opt-in to Buffered Receive processing...
<WorkflowService AllowBufferedReceive="True">
<!--the actual children activities -->
</Sequence>