我使用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”。为了与此服务进行通信,请检查传入绑定是否支持上下文协议并且是否已初始化有效上下文。
答案 0 :(得分:2)
您需要设置某种形式的关联,以将第二条消息放入同一工作流服务实例中。有两种方法可以做到这一点,或者使用其中一个相关性绑定的上下文关联,例如wsHttpContextBinding,请求关联,根据消息中的一些常见数据执行相同操作。最后一个是更灵活,但这意味着你需要一些独特的数据,如订单号,与每个请求一起发送。
Here是一篇描述如何使用消息关联的博客文章。
在UI中,使用CorrelationInitializer设置与第一个Receive活动的关联,并将CorrelatesOn与第二个Receive活动一起使用。