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>());
        }
Exemple #2
0
        /// <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;
        }
Exemple #3
0
        /// <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;
        }