Workflow 如何将序列放入windows工作流状态机? 我有一个Windows工作流基础(3)状态机,在这个状态机中,我需要某些状态来根据状态的年龄来改变状态。例如,当工作流进入状态X时,用户需要在5天内对其进行操作。如果没有这样做,工作流程需要转换到状态Y。因此,我想我想要的是一个具有事件驱动活动的状态来处理用户的操作,以及一个具有延迟活动的序列活动,该延迟活动具有一个SetState活动,如果用户没有及时执行操作,则会导致状态转换

Workflow 如何将序列放入windows工作流状态机? 我有一个Windows工作流基础(3)状态机,在这个状态机中,我需要某些状态来根据状态的年龄来改变状态。例如,当工作流进入状态X时,用户需要在5天内对其进行操作。如果没有这样做,工作流程需要转换到状态Y。因此,我想我想要的是一个具有事件驱动活动的状态来处理用户的操作,以及一个具有延迟活动的序列活动,该延迟活动具有一个SetState活动,如果用户没有及时执行操作,则会导致状态转换,workflow,workflow-foundation,Workflow,Workflow Foundation,状态不直接接受序列活动,因此我尝试将此逻辑放在StateInitialization活动中,但它不允许延迟。我可以将延迟放在前一个状态和另一个事件驱动的活动中,然后转换到哪一个状态是合适的,但这并不真正适合业务流 有没有一种方法可以在状态机中实现,或者我应该使用顺序工作流 您可以使用状态机工作流轻松实现这一点 您需要将StateInitializationActivity和EventDrivenActivity放入您的状态。EventDrivenActivity接受延迟活动,将逻辑置于超时之后,

状态不直接接受序列活动,因此我尝试将此逻辑放在StateInitialization活动中,但它不允许延迟。我可以将延迟放在前一个状态和另一个事件驱动的活动中,然后转换到哪一个状态是合适的,但这并不真正适合业务流


有没有一种方法可以在状态机中实现,或者我应该使用顺序工作流

您可以使用状态机工作流轻松实现这一点


您需要将StateInitializationActivity和EventDrivenActivity放入您的状态。EventDrivenActivity接受延迟活动,将逻辑置于超时之后,例如设置另一个状态。如果计时器在StateInitializationActivity中的活动之前经过,则状态将更改。

谢谢Kay。我在这里找到了同样的解决方案,它也可以工作(所以我正在使用它),但驱动EventDrivenActivity的事件是什么?在我的应用程序的其余部分,我从一个网页触发事件。然后,这些事件由当前状态下的相关活动处理。触发EventDrivenActivity的事件是过期的延迟时间。在EventDrivenActivity中,可以放置一个实现IEventActivity的活动,例如HandleExternalEventActivity、DelayActivity或WF 3.5 ReceiveActivity。