1

我已经使用 VS2010 beta 2 创建了一个 DeclarativeServiceLibrary,
请检查这个顺序服务的图像
替代文字

以下是用于调用这两个活动的代码`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

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

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

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

于 2010-03-14T09:26:07.900 回答