Düzen Dışı İleti İşleme

İş akışı hizmetleri belirli bir sırada gönderilen iletilere bağlı olabilir. bir iş akışı hizmeti bir veya daha fazla Receive etkinlik içerir ve her Receive etkinlik belirli bir ileti bekler. Belirli aktarım teslim garantileri olmadan, istemciler tarafından gönderilen iletiler gecikebilir ve bu nedenle iş akışı hizmetinin beklemeyebileceği bir sırayla teslim edilebilir. İletilerin belirli bir sırada gönderilmesini gerektirmeyen bir iş akışı hizmetinin uygulanması normalde Paralel etkinlik kullanılarak yapılır. Daha karmaşık bir uygulama protokolü için iş akışı çok hızlı bir şekilde çok karmaşık hale gelir. Windows Communication Foundation'daki (WCF) sıra dışı ileti işleme özelliği, iç içe Paralel etkinliklerin tüm karmaşıklığı olmadan böyle bir iş akışı oluşturmanıza olanak tanır. Sıra dışı ileti işleme yalnızca WCF MSMQ bağlamaları gibi destekleyen ReceiveContext kanallarda desteklenir.

Sıra Dışı İleti İşlemeyi Etkinleştirme

İş AkışıHizmesinde özelliği true olarak ayarlanarak AllowBufferedReceive sıra dışı ileti işleme etkinleştirilir. Aşağıdaki örnekte kodda özelliğinin AllowBufferedReceive nasıl ayarlanacağı gösterilmektedir.

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

Aşağıdaki örnekte gösterildiği gibi özniteliğini AllowBufferedReceive XAML'deki bir iş akışı hizmetine de uygulayabilirsiniz.

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

Ayrıca bkz.