public void IWorkflowMetadataFactory_Instance() { IWorkflowMetadataFactory instance = Factory.Current.Resolve <IWorkflowMetadataFactory>(); Assert.That(instance, Is.TypeOf <CachingWorkflowMetadataFactory>()); CachingWorkflowMetadataFactory factory = (CachingWorkflowMetadataFactory)instance; Assert.That(factory.InnerFactory, Is.TypeOf <WorkflowMetadataFactory>()); }
/// <summary> /// DI constructor. /// </summary> /// <param name="innerFactory">An inner factory.</param> public CachingWorkflowMetadataFactory(IWorkflowMetadataFactory innerFactory) : base("WorkflowMetadataFactory", new CacheFactory { MetadataCache = true }) { if (innerFactory == null) { throw new ArgumentNullException("innerFactory"); } InnerFactory = innerFactory; }
/// <summary> /// Initializes the <see cref="WorkflowRunner.Instance"/> class. /// </summary> public WorkflowRunner(IWorkflowMetadataFactory metadataFactory, long suspendTimeoutMs = SuspenedTimeoutMsDefault) { if (metadataFactory == null) { throw new ArgumentNullException("metadataFactory"); } MetadataFactory = metadataFactory; WorkflowRequest.WorkflowDiagnosticsRequestReceived += WorkflowRequest_WorkflowDiagnosticsRequestReceived; DiagnosticsEnabled = WorkflowRequest.IsEnabled; DiagnosticsLastUpdated = DateTime.UtcNow; SuspendTimeoutMs = suspendTimeoutMs; }