示例#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);
 }
        public RemoveFileMiddleWare(
            MiddlewareDelegate <CFTFileContext> next,
            ILogger <RemoveFileMiddleWare> logger,
            IFileProviderFactory fileProviderFactory,
            RemoveFileOptions options)
            : base(next, logger)
        {
            try
            {
                options.ValidationParams();
                _fileProvider = fileProviderFactory.GetFileProvider(options.FileProviderType, options.FileProviderSettings);
            }
            catch (Exception e)
            {
                throw new CFTConfigurationException("Ошибка при конфигурации модуля проверки по XSD схеме.", e);
            }

            _option = options;
        }
示例#3
0
        public ExportFileMiddleWare(
            MiddlewareDelegate <CFTFileContext> next,
            ILogger <ExportFileMiddleWare> logger,
            IFileProviderFactory fileProviderFactory,
            ExportFileOptions options)
            : base(next, logger)
        {
            try
            {
                options.ValidationParams();
                _fileProvider = fileProviderFactory.GetFileProvider(options.FileProviderType, options.FileProviderSettings);
                var exportFolder = _fileProvider.GetDirectoryContents(options.Path);
                if (!exportFolder.Exists)
                {
                    throw new ArgumentException($"Каталог '{options.Path}' не существует.", nameof(options.Path));
                }
            }
            catch (Exception e)
            {
                throw new CFTConfigurationException("Ошибка при конфигурации модуля экспорта файла.", e);
            }

            _option = options;
        }
示例#4
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);
            }
        }