Beispiel #1
0
 public CFTReadAllProcess(
     IOptions <FileScanerOptions> options,
     IFileProviderFactory fileProviderFactory,
     IServiceProvider applicationServices,
     ICFTMiddlewareBuilder cftMiddlewareBuilder)
 {
     if (fileProviderFactory == null)
     {
         throw new ArgumentNullException(nameof(fileProviderFactory));
     }
     _options             = options?.Value ?? throw new ArgumentNullException(nameof(options));
     _applicationServices = applicationServices ?? throw new ArgumentNullException(nameof(applicationServices));
     _fileProvider        = fileProviderFactory.GetFileProvider(options.Value.FileProviderType, options.Value.FileProviderSettings);
     _semaphore           = new SemaphoreSlim(_options.NumberParallelFileWork, _options.NumberParallelFileWork);
 }
Beispiel #2
0
        public FileScanerHostedService(
            ICFTReadAllProcess readAllProcess,
            IOptions <FileScanerOptions> options,
            IFileProviderFactory fileProviderFactory,
            ICFTMiddlewareBuilder cftMiddlewareBuilder)
        {
            if (fileProviderFactory == null)
            {
                throw new ArgumentNullException(nameof(fileProviderFactory));
            }
            _readAllProcess       = readAllProcess ?? throw new ArgumentNullException(nameof(readAllProcess));
            _options              = options?.Value ?? throw new ArgumentNullException(nameof(options));
            _cftMiddlewareBuilder = cftMiddlewareBuilder ?? throw new ArgumentNullException(nameof(cftMiddlewareBuilder));
            _fileProvider         = fileProviderFactory.GetFileProvider(options.Value.FileProviderType, options.Value.FileProviderSettings);

            try
            {
                options.Value.ValidateOptions();
            }
            catch (Exception e)
            {
                throw new CFTConfigurationException("Ошибка конфигурации службы.", e);
            }
        }