private static void ResourceInitialize(string resourceName) { var src = new StringResourcesCache(); var manifest = src[resourceName + ".json"]; Initialize(manifest); }
public WorkflowHost() { var cf = Catalog.Factory.Resolve <IConfig>(SpecialFactoryContexts.Routed); _queueConnection = WorkflowShared.GetMessageQueueHost(cf); _wfTemplates = Catalog.Preconfigure() .Add(BlobContainerLocalConfig.ContainerName, WFHostContainerName) .Add(BlobContainerLocalConfig.OptionalAccess, EntityAccess.Private) .Add(BlobContainerLocalConfig.OptionalContentType, "application/json") .ConfiguredResolve <IFilesContainer>(); _stringResources = Catalog.Factory.Resolve <StringResourcesCache>(); var hostEnvironment = Catalog.Factory.Resolve <IHostEnvironment>(); var _hostId = hostEnvironment.GetCurrentHostIdentifier(HostEnvironmentConstants.DefaultHostScope); WorkflowShared.DeclareWorkflowExchanges(_queueConnection, cf[WorkflowConfiguration.WorkflowMessagingKey]); WorkflowShared.AttachQueueToWorkflowExchange(_queueConnection, _hostId, cf[WorkflowConfiguration.WorkflowMessagingKey]); WorkflowShared.AttachedQueueToWorkflowBroadcast(_queueConnection, _hostId, cf[WorkflowConfiguration.WorkflowMessagingKey]); _publisher = Catalog.Preconfigure() .Add(MessagePublisherLocalConfig.HostConnectionString, _queueConnection) .Add(MessagePublisherLocalConfig.ExchangeName, WorkflowShared.WorkflowExchange) .ConfiguredResolve <IMessagePublisher>(cf[WorkflowConfiguration.WorkflowMessagingKey]); _broadcaster = Catalog.Preconfigure() .Add(MessagePublisherLocalConfig.HostConnectionString, _queueConnection) .Add(MessagePublisherLocalConfig.ExchangeName, WorkflowShared.WorkflowFanoutExchange) .ConfiguredResolve <IMessagePublisher>(cf[WorkflowConfiguration.WorkflowMessagingKey]); _listener = Catalog.Preconfigure() .Add(MessageListenerLocalConfig.HostConnectionString, _queueConnection) .Add(MessageListenerLocalConfig.ExchangeName, WorkflowShared.WorkflowExchange) .Add(MessageListenerLocalConfig.QueueName, _hostId) .ConfiguredResolve <IMessageListener>(cf[WorkflowConfiguration.WorkflowMessagingKey]); _broadcastListener = Catalog.Preconfigure() .Add(MessageListenerLocalConfig.HostConnectionString, _queueConnection) .Add(MessageListenerLocalConfig.ExchangeName, WorkflowShared.WorkflowFanoutExchange) .Add(MessageListenerLocalConfig.QueueName, _hostId) .ConfiguredResolve <IMessageListener>(cf[WorkflowConfiguration.WorkflowMessagingKey]); _machineStateData = Catalog.Preconfigure().ConfigureWorkflowDataRepository <WorkflowMachineState>() .ConfiguredResolve <IDataRepositoryService <WorkflowMachineState, WorkflowMachineState, DataEnvelope <WorkflowMachineState, NoMetadata>, NoMetadata, DatumEnvelope <WorkflowMachineState, NoMetadata>, NoMetadata> > (cf[WorkflowConfiguration.WorkflowDataRepositoryKey]); _instanceData = Catalog.Preconfigure().ConfigureWorkflowDataRepository <WorkflowInstanceInfo>() .ConfiguredResolve <IDataRepositoryService <WorkflowInstanceInfo, WorkflowInstanceInfo, DataEnvelope <WorkflowInstanceInfo, NoMetadata>, NoMetadata, DatumEnvelope <WorkflowInstanceInfo, NoMetadata>, NoMetadata> > (cf[WorkflowConfiguration.WorkflowDataRepositoryKey]); _triggers = Catalog.Preconfigure().ConfigureWorkflowDataRepository <WorkflowTrigger>() .ConfiguredResolve <IDataRepositoryService <WorkflowTrigger, WorkflowTrigger, DataEnvelope <WorkflowTrigger, NoMetadata>, NoMetadata, DatumEnvelope <WorkflowTrigger, NoMetadata>, NoMetadata> > (cf[WorkflowConfiguration.WorkflowDataRepositoryKey]); _workflowDataRepositoryKey = cf[WorkflowConfiguration.WorkflowDataRepositoryKey]; _workflowMessagingKey = cf[WorkflowConfiguration.WorkflowMessagingKey]; _workflowWorkspaceKey = cf[WorkflowConfiguration.WorkflowWorkspaceKey]; }