コード例 #1
0
        /// <summary>
        /// 验证代理的有效性并保存
        /// </summary>
        /// <param name="lstProxy"></param>
        protected void VerifyAndSave(List <Proxy> listProxy)
        {
            if (listProxy == null || listProxy.Count == 0)
            {
                return;
            }
            //先过滤掉已存在的,然后再验证有效性
            var service = new ProxyService();

            listProxy = service.FilterExist(listProxy);
            //验证有效性
            List <Proxy> verifyedProxy = new List <Proxy>();
            var          lockObj       = new Object();

            Parallel.ForEach(listProxy, item =>
            {
                if (VerifyProxy(item))
                {
                    lock (lockObj)
                    {
                        verifyedProxy.Add(item);
                    }
                }
            });
            service.Add(verifyedProxy);
        }