diff --git a/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs b/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs
index 6b1c20c12..94132f3e9 100644
--- a/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs
+++ b/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs
@@ -1,29 +1,39 @@
using Elsa.Workflows.Core.Activities;
+using Elsa.Workflows.Core.Contracts;
using Elsa.Workflows.Core.State;
using Elsa.Workflows.Runtime.Contracts;
using Microsoft.Extensions.DependencyInjection;
namespace Elsa.Workflows.Runtime.Services;
+///
public class WorkflowHostFactory : IWorkflowHostFactory
{
+ private readonly IIdentityGenerator _identityGenerator;
private readonly IServiceProvider _serviceProvider;
- public WorkflowHostFactory(IServiceProvider serviceProvider)
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public WorkflowHostFactory(IIdentityGenerator identityGenerator, IServiceProvider serviceProvider)
{
+ _identityGenerator = identityGenerator;
_serviceProvider = serviceProvider;
}
-
+
+ ///
public Task CreateAsync(Workflow workflow, WorkflowState workflowState, CancellationToken cancellationToken = default)
{
var workflowHost = (IWorkflowHost)ActivatorUtilities.CreateInstance(_serviceProvider, workflow, workflowState);
return Task.FromResult(workflowHost);
}
+ ///
public Task CreateAsync(Workflow workflow, CancellationToken cancellationToken = default)
{
var workflowState = new WorkflowState
{
+ Id = _identityGenerator.GenerateId(),
DefinitionId = workflow.Identity.DefinitionId,
DefinitionVersion = workflow.Identity.Version
};