Example #1
0
        public FtpManager(IChecksumCalculator checksumCalculator, ChecksumDataStorage checksumDataStorage, IFtpClientProvider ftpClientProvider, IClassLogger logger)
        {
            var ftpExecutor = new FtpCommandExecutor(ftpClientProvider, logger);

            _ftpContentGetter     = new FtpContentGetter(ftpExecutor);
            _ftpDirectoryCreator  = new FtpDirectoryCreator(ftpExecutor);
            _ftpDirectoryRemover  = new FtpDirectoryRemover(ftpExecutor, _ftpContentGetter, _ftpFileRemover, logger);
            _ftpFileUploader      = new FtpFileUploader(checksumCalculator, ftpExecutor, checksumDataStorage);
            _ftpDirectoryUploader = new FtpDirectoryUploader(_ftpDirectoryCreator, _ftpFileUploader, logger);
            _ftpExistenceChecker  = new FtpExistenceChecker(ftpExecutor);
            _ftpFileRemover       = new FtpFileRemover(ftpExecutor);
            _ftpTextReader        = new FtpTextReader(ftpExecutor);
            _ftpTextUploader      = new FtpTextUploader(_ftpFileUploader);
        }
Example #2
0
        public FtpServer(Configuration.FtpServerOptionElement configuration) : base(21)
        {
            //不要在构造方法检测参数是否空,应该在OnStart方法中检测
            _configuration = configuration;

            _pasvDataChannelPool = new ObjectPool <FtpPasvDataChannel>(() =>
            {
                var channel = new FtpPasvDataChannel();
                channel.StartListener();
                return(channel);
            }, channel => channel.StopListener());

            _commandExecutor = new FtpCommandExecutor();
        }
		public FtpServer(Configuration.FtpServerOptionElement configuration)
			: base(21)
		{
			//不要在构造函数检测参数是否空,应该在OnStart方法中检测
			_configuration = configuration;

			_pasvDataChannelPool = new ObjectPool<FtpPasvDataChannel>(
				() =>
				{
					var channel = new FtpPasvDataChannel();
					channel.StartListener();
					return channel;
				}, channel => channel.StopListener());

			_commandExecutor = new FtpCommandExecutor();
		}