ActivityExecutionContext Children property not populated

This commit is contained in:
Bob Hauser 2025-02-18 22:57:23 -05:00
parent 2c394e2353
commit 8d63c93424
2 changed files with 6 additions and 6 deletions

View file

@ -44,7 +44,7 @@ public partial class ActivityExecutionContext : IExecutionContext, IDisposable
ActivityState = new ChangeTrackingDictionary<string, object>(Taint);
ActivityInput = new ChangeTrackingDictionary<string, object>(Taint);
WorkflowExecutionContext = workflowExecutionContext;
_parentActivityExecutionContext = parentActivityExecutionContext;
ParentActivityExecutionContext = parentActivityExecutionContext;
var expressionExecutionContextProps = ExpressionExecutionContextExtensions.CreateActivityExecutionContextPropertiesFrom(workflowExecutionContext, workflowExecutionContext.Input);
expressionExecutionContextProps[ExpressionExecutionContextExtensions.ActivityKey] = activity;
ExpressionExecutionContext = new(workflowExecutionContext.ServiceProvider, new(), parentActivityExecutionContext?.ExpressionExecutionContext ?? workflowExecutionContext.ExpressionExecutionContext, expressionExecutionContextProps, Taint, CancellationToken);

View file

@ -254,7 +254,7 @@ public static partial class ActivityExecutionContextExtensions
return;
// Select all child contexts.
var childContexts = context.WorkflowExecutionContext.ActivityExecutionContexts.Where(x => x.ParentActivityExecutionContext == context).ToList();
var childContexts = context.Children.ToList();
foreach (var childContext in childContexts)
await CancelActivityAsync(childContext);
@ -320,7 +320,7 @@ public static partial class ActivityExecutionContextExtensions
/// </summary>
public static IEnumerable<ActivityExecutionContext> GetDescendents(this ActivityExecutionContext context)
{
var children = context.WorkflowExecutionContext.ActivityExecutionContexts.Where(x => x.ParentActivityExecutionContext == context).ToList();
var children = context.Children.ToList();
foreach (var child in children)
{
@ -336,7 +336,7 @@ public static partial class ActivityExecutionContextExtensions
/// </summary>
public static IEnumerable<ActivityExecutionContext> GetActiveChildren(this ActivityExecutionContext context)
{
return context.WorkflowExecutionContext.ActivityExecutionContexts.Where(x => x.ParentActivityExecutionContext == context);
return context.Children;
}
/// <summary>
@ -344,7 +344,7 @@ public static partial class ActivityExecutionContextExtensions
/// </summary>
public static IEnumerable<ActivityExecutionContext> GetChildren(this ActivityExecutionContext context)
{
return context.WorkflowExecutionContext.ActivityExecutionContexts.Where(x => x.ParentActivityExecutionContext == context);
return context.Children;
}
/// <summary>
@ -352,7 +352,7 @@ public static partial class ActivityExecutionContextExtensions
/// </summary>
public static IEnumerable<ActivityExecutionContext> GetDescendants(this ActivityExecutionContext context)
{
var children = context.WorkflowExecutionContext.ActivityExecutionContexts.Where(x => x.ParentActivityExecutionContext == context).ToList();
var children = context.Children.ToList();
foreach (var child in children)
{