public void InitializeComponent(string path)
        {
            _listFileStruct.Clear();
            _listMessage.Clear();
            _msmq.InitializeMessageQueue(path);
            _inputDataBase.InitializeComponent(path);
            StringBuilder stb = new StringBuilder();

            foreach (var config in _ftpConfigs)
            {
                stb.Clear();
                stb.AppendLine($"开始检查 {config.FileType} 配置.....");
                Console.WriteLine();

                if (config.RemoteBackupFolder.Length > 0)
                {
                    stb.AppendLine($"启用文件备份,下载文件将会备份至Ftp/{config.RemoteBackupFolder}目录");
                }
                if (config.NameContains.Length > 0)
                {
                    stb.AppendLine($"启用文件名验证,仅会下载包含{config.NameContains}的文件");
                }
                stb.AppendLine($"{config.FileType} 配置 √");
                Console.WriteLine(stb);
            }


            //Console.WriteLine("running after 3 s...");
            //Thread.Sleep(1000);
            //Console.WriteLine("running after 2 s...");
            //Thread.Sleep(1000);
            //Console.WriteLine("running after 1 s...");
            //Thread.Sleep(1000);
            //Console.WriteLine("Go");


            List <Task> taskList = new List <Task>();

            taskList.AddRange(_ftpConfigs.Select(f => Task.Factory.StartNew(x =>
            {
                f.MaxDegreeOfParallelism = f.MaxDegreeOfParallelism == 0 || f.MaxDegreeOfParallelism > Environment.ProcessorCount ? Environment.ProcessorCount : f.MaxDegreeOfParallelism;
                BeginWork(f);
            }, 1)));

            Task.WaitAll(taskList.ToArray());

            //仅全部下载成功情况下,才能整批导入

            if (_listFileStruct.Count > 0 && _listFileStruct.Count(x => !x.IsSuccess) == 0)
            {
                if (_msmq.SendTranMessageQueue(_listMessage, (result, msg) => Nlog.Info("MessageQueue", $"{_listFileStruct.Count}个 msmq {(result ? "√" : "failed")} {msg}")))
                {
                    _ftpConfigs.ForEach(DeleteFtpFiles);
                }
            }
            else
            {
                Nlog.Info($"整包下载总数:{_listFileStruct.Count},其中失败{_listFileStruct.Count(x => !x.IsSuccess)}");
            }
            _inputDataBase.BeginWork();
        }
 public void InitializeComponent(string path)
 {
     _msmq.InitializeMessageQueue(path);
 }