1

VS2010ベータ2を使用してDeclarativeServiceLibraryを作成しました。
シーケンシャルサービスのこのイメージを確認してください
代替テキスト

これらの2つのアクティビティを`int?データ=123;

        ServiceReference1.ServiceClient client1 = new ServiceReference1.ServiceClient();
        string result1 = client1.GetData(data);

        //This line shows error :(
        string result2 = client1.Operation1();

        Response.Write(result1 + " ::  ::" + result2);`  

client1.GetDataは完全に機能しますが、client1.Operation1は次のエラーを示します。これを修正する方法を教えてください。

サービスの着信メッセージに関連付けられたコンテキストはなく、現在の操作は「CanCreateInstance=true」でマークされていません。このサービスと通信するには、着信バインディングがコンテキストプロトコルをサポートし、有効なコンテキストが初期化されているかどうかを確認します。

4

1 に答える 1

2

2番目のメッセージを同じワークフローサービスインスタンスに取り込むには、何らかの形の相関関係を設定する必要があります。これを行うには、いくつかの方法があります。wsHttpContextBindingなどの相関バインディングの1つを使用したコンテキスト相関と、メッセージ内のいくつかの一般的なデータに基づいて同じことを行う要求相関です。最後の方が柔軟性がありますが、すべてのリクエストと一緒に送信するには、注文番号などの一意のデータが必要です。

これは、メッセージ相関の使用方法を説明するブログ投稿です。

UIで、CorrelationInitializerを使用して最初のReceiveアクティビティとの相関を設定し、CorrelatesOnを2番目のReceiveアクティビティで使用します。

于 2010-03-14T09:26:07.900 に答える