I am creating a windows workflow(using WCF) that waits infinitely until user(s) perform some actions. I have used flow chart activity and at the end of flow chart i again take it back to start of the workflow so that workflow waits endlessly until expected response from user(s) is attained.
The issue is that, there is due date associated with every workflow, so I need to terminate workflow where it has passed due date. I initially thought that I would expose another separate WCF service in workflow which will only terminate the workflow, whenever a call to made this service. But when I created a separate WCF service(SendAndReply Activity) it didnt showed up as a operation contract when I added reference to workflow services.
Can anyone tell me how can we terminate workflow if due date is achieved ? That is how can I make a separate process for termination of workflow ?
As I understood your workflow it more suitable to implement it as a state machine. Then you can easily implement the waiting for user inputs. You can use a trigger with a delay activity to terminate(or go to final state) for your task.Or elase you can use send recive activity in a trigger to expose it as a WCF service.
And if you use system.activities.extensions you can use DelayUntilDateTime activity easily.