次の方法で共有


順序が整ったメッセージ処理

ワークフロー サービスは、特定の順序で送信されるメッセージに依存する場合があります。 ワークフロー サービスには 1 つ以上の Receive アクティビティが含まれており、各 Receive アクティビティは特定のメッセージを受け取ります。 特定のトランスポート配信の保証がないと、クライアントによって送信されたメッセージが遅延し、ワークフロー サービスが予期しない順序で配信される可能性があります。 メッセージを特定の順序で送信する必要のないワークフロー サービスの実装は、通常、Parallel アクティビティを使用して行われます。 より複雑なアプリケーション プロトコルの場合、ワークフローは非常に迅速に複雑になります。 Windows Communication Foundation (WCF) の順序が正しくないメッセージ処理機能を使用すると、入れ子になった並列アクティビティの複雑さをすべてなく、このようなワークフローを作成できます。 順序が異なったメッセージ処理は、WCF MSMQ バインドなどの ReceiveContext をサポートするチャネルでのみサポートされます。

アウトOf-Order メッセージ処理の有効化

AllowBufferedReceive プロパティを WorkflowService でtrueに設定することで、順序が異なったメッセージ処理が有効になります。 次の例は、コードで AllowBufferedReceive プロパティを設定する方法を示しています。

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

次の例に示すように、 AllowBufferedReceive 属性を XAML のワークフロー サービスに適用することもできます。

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

こちらも参照ください