Update RefreshWorkflowContext.cs

This change ensures that workflow context (if a context ID is present) is always loaded before executing a workflow. This needs to happen regardless of the configured fidelity.

Fixes #1490
This commit is contained in:
Sipke Schoorstra 2021-09-08 10:21:25 +02:00
parent de9ac4b074
commit 94b086f5f0

View file

@ -20,7 +20,7 @@ namespace Elsa.Handlers
public async Task Handle(WorkflowExecuting notification, CancellationToken cancellationToken)
{
var workflowExecutionContext = notification.WorkflowExecutionContext;
workflowExecutionContext.WorkflowContext = await LoadWorkflowContextAsync(workflowExecutionContext, WorkflowContextFidelity.Burst, false, cancellationToken);
workflowExecutionContext.WorkflowContext = await LoadWorkflowContextAsync(workflowExecutionContext, default, true, cancellationToken);
}
public async Task Handle(ActivityActivating notification, CancellationToken cancellationToken)
@ -37,7 +37,7 @@ namespace Elsa.Handlers
}
}
private async ValueTask<object?> LoadWorkflowContextAsync(WorkflowExecutionContext workflowExecutionContext, WorkflowContextFidelity fidelity, bool always, CancellationToken cancellationToken)
private async ValueTask<object?> LoadWorkflowContextAsync(WorkflowExecutionContext workflowExecutionContext, WorkflowContextFidelity? fidelity, bool always, CancellationToken cancellationToken)
{
var workflowInstance = workflowExecutionContext.WorkflowInstance;
var workflowBlueprint = workflowExecutionContext.WorkflowBlueprint;