public CentralHostService(
            ILogger logger,
            FileMessageListenerService fileMessageListenerService,
            ServiceConfiguration centralHostServiceConfiguration)
        {
            _logger = logger;

            _centralHostServiceConfiguration = centralHostServiceConfiguration;
            _fileMessageListenerService = fileMessageListenerService;
            _processingRoutine = new Task(this.ProcessOperations, TaskCreationOptions.LongRunning);
            _shutdownEvent = new ManualResetEventSlim(false);

            this.InitializeServiceState(centralHostServiceConfiguration);
        }
 private void InitializeServiceState(ServiceConfiguration configuration)
 {
     this.CanStop = true;
     this.AutoLog = false;
     this.ServiceName = configuration.ServiceName ?? DefaultServiceName;
 }
 public CentralHostService Create(ServiceConfiguration configuration)
 {
     return _factory.Invoke(configuration);
 }