diff --git a/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs b/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs
index f5e629ce28..9b230e96de 100644
--- a/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs
+++ b/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs
@@ -58,21 +58,6 @@ from outputProp in outputProps
return query.Select(x => x!).ToList();
}
-
- ///
- /// Gets the output with the specified name.
- ///
- /// The activity to get the output from.
- /// The workflow execution context.
- /// Name of the output.
- /// The output value.
- public static object? GetOutput(this IActivity activity, WorkflowExecutionContext context, string? outputName = default)
- {
- var workflowExecutionContext = context;
- var outputRegister = workflowExecutionContext.GetActivityOutputRegister();
- var output = outputRegister.FindOutputByActivityId(activity.Id, outputName);
- return output;
- }
///
/// Gets the output with the specified name.
@@ -83,7 +68,10 @@ from outputProp in outputProps
/// The output value.
public static object? GetOutput(this IActivity activity, ActivityExecutionContext context, string? outputName = default)
{
- return activity.GetOutput(context.WorkflowExecutionContext, outputName);
+ var workflowExecutionContext = context.WorkflowExecutionContext;
+ var outputRegister = workflowExecutionContext.GetActivityOutputRegister();
+ var output = outputRegister.FindOutputByActivityInstanceId(context.Id, outputName);
+ return output;
}
///
@@ -95,7 +83,12 @@ from outputProp in outputProps
/// The output value.
public static object? GetOutput(this IActivity activity, ExpressionExecutionContext context, string? outputName = default)
{
- return activity.GetOutput(context.GetWorkflowExecutionContext(), outputName);
+ var activityExecutionContext = context.GetActivityExecutionContext();
+
+ if (activityExecutionContext == null)
+ return null;
+
+ return activity.GetOutput(activityExecutionContext, outputName);
}
///