WCF工作流服务单一实例相关

问题描述:

使用Visual Studio 2010 RC/.NET 4.0WCF工作流服务单一实例相关

我有一个WCF工作流服务与三个接收定义,基本上StartProcessing,StopProcessing和GetProcessingStatus活动。这是一个长时间运行的服务,一旦调用StartProcessing,就会继续轮询数据的外部服务,直到调用StopProcessing为止。

我的问题是弄清楚如何使用关联来确保所有调用服务的调用都调用工作流的同一个实例。我试图避免要求任何类型的实例id被传递回服务的后续调用。简而言之,我希望将工作流程执行为单例,并确保所有接收活动都在同一个实例上运行。我如何去做这件事?

我认为你想要的是不可能的,你需要关联,WWF不知道如何执行它。如果收到两个并行呼叫,他们将使用相同的对象,并产生意外的结果。

在wcf中,你可以在客户端设置一个会话,或者你可以管理wcf对象的创建,但是在WWF中,我认为你甚至没有这个选项。

+0

你不可能想到内部关联?相关性是否必须与请求中的数据相关联?我试图找出一种方法来初始化相关性到一些初始值,并关联所有接收活动...但没有任何运气。 – BCarter 2010-03-05 16:09:25

+0

我认为它必须在请求中,因为它是在实例化工作流时,它现在必须从ddbb捕获。 – 2010-03-05 23:29:18

例如,您可以关联一个常量。例如,在查询关联中编辑XPath以返回数字1。