Ejemplo n.º 1
0
        public FileLockerRedialExecutor(IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
        {
            if (!Directory.Exists(AtomicActionFolder))
            {
                Directory.CreateDirectory(AtomicActionFolder);
            }

            foreach (var file in Directory.GetFiles(AtomicActionFolder))
            {
                try
                {
                    File.Delete(file);
                }
                catch (Exception e)
                {
                    Logger.MyLog($"Delete atomic file failed: {e}", LogLevel.Error);
                }
            }
            try
            {
                File.Delete(RedialLockerFile);
            }
            catch (Exception e)
            {
                Logger.MyLog($"Delete redial lock file failed: {e}", LogLevel.Error);
            }
        }
Ejemplo n.º 2
0
        public FileLockerRedialExecutor(IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
        {
            if (!Directory.Exists(AtomicActionFolder))
            {
                Directory.CreateDirectory(AtomicActionFolder);
            }

            foreach (var file in Directory.GetFiles(AtomicActionFolder))
            {
                try
                {
                    File.Delete(file);
                }
                catch
                {
                }
            }
            try
            {
                File.Delete(RedialLockerFile);
            }
            catch
            {
            }
        }
 public FileLockerRedialExecutor(IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
 {
     if (!Directory.Exists(AtomicActionFolder))
     {
         Directory.CreateDirectory(AtomicActionFolder);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="redialer">拨号器</param>
 /// <param name="validater">网络状态检测器</param>
 protected RedialExecutor(IRedialer redialer, IInternetDetector validater)
 {
     if (redialer == null || validater == null)
     {
         throw new ArgumentException("redialer, validater should not be null.");
     }
     Redialer         = redialer;
     InternetDetector = validater;
 }
Ejemplo n.º 5
0
 protected RedialExecutor(IRedialer redialer, IInternetDetector validater)
 {
     if (redialer == null || validater == null)
     {
         throw new SpiderException("IWaitRedial should not be null.");
     }
     Redialer         = redialer;
     InternetDetector = validater;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="redialer">拨号器</param>
 /// <param name="internetDetector">网络状态检测器</param>
 protected RedialExecutor(IRedialer redialer, IInternetDetector internetDetector)
 {
     if (redialer == null || internetDetector == null)
     {
         throw new ArgumentException("redialer, internetDetector should not be null");
     }
     Redialer         = redialer;
     InternetDetector = internetDetector;
 }
Ejemplo n.º 7
0
 protected RedialExecutor(IRedialer redialer, IInternetDetector validater)
 {
     if (redialer == null || validater == null)
     {
         throw new SpiderException("IWaitRedial should not be null.");
     }
     Redialer         = redialer;
     InternetDetector = validater;
     Logger           = LogManager.GetCurrentClassLogger();
 }
Ejemplo n.º 8
0
        public RedisRedialExecutor(string connectString, IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
        {
            ConnectString = connectString;

            RedisConnection = Cache.Instance.Get(ConnectString);
            if (RedisConnection == null)
            {
                RedisConnection = new RedisConnection(ConnectString);
                Cache.Instance.Set(ConnectString, RedisConnection);
            }
        }
Ejemplo n.º 9
0
        public FileLockerRedialExecutor(IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
        {
            var fileInfo = new FileInfo(FileLocker.RedialLockerFile);

            if (fileInfo.Exists)
            {
                try
                {
                    fileInfo.Delete();
                }
                catch
                {
                }
            }
        }
Ejemplo n.º 10
0
        protected LocalRedialExecutor(IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
        {
            if (!Directory.Exists(AtomicActionFolder))
            {
                Directory.CreateDirectory(AtomicActionFolder);
            }

            foreach (var file in Directory.GetFiles(AtomicActionFolder))
            {
                try
                {
                    File.Delete(file);
                }
                catch
                {
                    // ignored
                }
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 网络中心
        /// </summary>
        /// <param name="redialer">拨号器</param>
        /// <param name="internetDetector">网络检测器</param>
        /// <param name="lockerFactory">Locker 工厂</param>
        /// <param name="options">下载器代理选项</param>
        /// <param name="logger">日志接口</param>
        public NetworkCenter(
            IAdslRedialer redialer,
            IInternetDetector internetDetector,
            ILockerFactory lockerFactory,
            DownloaderAgentOptions options,
            ILogger <NetworkCenter> logger)
        {
            _redialer         = redialer;
            _internetDetector = internetDetector;
            _lockerFactory    = lockerFactory;
            _options          = options;
            _logger           = logger;

            _sessionsFolder = Path.Combine(Framework.GlobalDirectory, "sessions");
            if (!Directory.Exists(_sessionsFolder))
            {
                Directory.CreateDirectory(_sessionsFolder);
            }
        }
Ejemplo n.º 12
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="redialer">拨号器</param>
 /// <param name="validater">网络状态检测器</param>
 public MutexRedialExecutor(IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
 {
 }
Ejemplo n.º 13
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="redialer">拨号器</param>
 /// <param name="internetDetector">网络状态检测器</param>
 public MutexRedialExecutor(IRedialer redialer, IInternetDetector internetDetector) : base(redialer, internetDetector)
 {
 }
Ejemplo n.º 14
0
 public FileLockerRedialExecutor(IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
 {
 }
Ejemplo n.º 15
0
 public RedisRedialExecutor(string host, string password, int port, IRedialer redialer, IInternetDetector validater) : base(redialer, validater)
 {
     Host     = host;
     Password = password;
     Port     = port;
 }