diff --git a/src/core/Elsa.Core/Models/WorkflowExecutionContext.cs b/src/core/Elsa.Core/Models/WorkflowExecutionContext.cs index 732d11c56..14e6ac668 100644 --- a/src/core/Elsa.Core/Models/WorkflowExecutionContext.cs +++ b/src/core/Elsa.Core/Models/WorkflowExecutionContext.cs @@ -108,10 +108,10 @@ public class WorkflowExecutionContext } public void RemoveCompletionCallback(ActivityCompletionCallbackEntry entry) => _completionCallbackEntries.Remove(entry); - + public void RemoveCompletionCallbacks(IEnumerable entries) { - foreach (var entry in entries.ToList()) + foreach (var entry in entries.ToList()) _completionCallbackEntries.Remove(entry); } @@ -177,4 +177,13 @@ public class WorkflowExecutionContext variable.Set(Register, value); return variable; } + + public void RemoveActivityExecutionContexts(IEnumerable contexts) + { + // Copy each item into a new list to avoid changing the source enumerable while removing elements from it. + var list = contexts.ToList(); + + // Remove each context. + foreach (var context in list) ActivityExecutionContexts.Remove(context); + } } \ No newline at end of file