Workflow Foundation 4 - DeclarativeServiceLibrary - 调用第二个ReceiveAndSendReply序列时出错 - VS2010

时间:2010-03-13 06:04:25

标签: .net wcf workflow-foundation-4 asp.net-4.0

我使用VS2010 beta 2创建了一个DeclarativeServiceLibrary 请查看顺序服务的图像
alt text http://i41.tinypic.com/2dif2jb.jpg

以下是用于调用这两个活动`int的代码? data = 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”。为了与此服务进行通信,请检查传入绑定是否支持上下文协议并且是否已初始化有效上下文。

1 个答案:

答案 0 :(得分:2)

您需要设置某种形式的关联,以将第二条消息放入同一工作流服务实例中。有两种方法可以做到这一点,或者使用其中一个相关性绑定的上下文关联,例如wsHttpContextBinding,请求关联,根据消息中的一些常见数据执行相同操作。最后一个是更灵活,但这意味着你需要一些独特的数据,如订单号,与每个请求一起发送。

Here是一篇描述如何使用消息关联的博客文章。

在UI中,使用CorrelationInitializer设置与第一个Receive活动的关联,并将CorrelatesOn与第二个Receive活动一起使用。