Search code examples
c#workflow-foundation-4

What is the point of a non-blocking bookmark and how to resume to it?


  • What is the point of a non-blocking bookmark (apart from it being non-blocking and continuing the flow)?
  • Can we resume a non-blocking workflow for if something broke it after that bookmark? ie.

    //first activity //non blocking bookmark create //second activity, something fails and throws an exception

Now I want to resume from the non blocking bookmark with new data, how?


Solution

  • One use-case for a non-blocking bookmark is when you have an activity that can schedule a long-running child activity. Setting up a non-blocking bookmark in the parent activity gives a resumption point which can cancel the child activity.

    If the child activity completes before the user wishes to cancel processing the workflow, then the parent activity is also allowed to 'close' even if no resume request occurs.