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); }
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); } }