Beispiel #1
0
        private void frmTest_Load(object sender, EventArgs e)
        {
            var th = new ThreadMultiHelper(1, 1);

            th.WorkMethod += (int taskindex, int threadindex) => {
                while (true)
                {
                    DataGridViewRow row = null;
                    if (rr != null && rr.Count > 0)
                    {
                        row = rr.Dequeue();
                    }
                    if (row != null)
                    {
                        for (int i = 0; i < 100; i++)
                        {
                            row.Cells[1].Value = i.ToString();
                            Thread.Sleep(1);
                        }
                        this.Invoke(new MethodInvoker(() => {
                            this.v5DataGridView1.Rows.Remove(row);
                        }));
                    }

                    Thread.Sleep(500);
                }
            };
            th.Start();
        }
Beispiel #2
0
 public void Start()
 {
     thHelper                = new ThreadMultiHelper(1, 1);
     thHelper.WorkMethod    += WorkMethod;
     thHelper.CompleteEvent += CompleteEvent;
     thHelper.Start();
 }
Beispiel #3
0
        private void frmOutPutFileDown_Load(object sender, EventArgs e)
        {
            var th = new ThreadMultiHelper(1, 1);

            th.WorkMethod    += th_WorkMethod;
            th.CompleteEvent += th_CompleteEvent;
            th.Start();
        }
Beispiel #4
0
        public frmOutPutBox()
        {
            InitializeComponent();

            this.txtOutWindowString.Dock = DockStyle.Fill;

            var th = new ThreadMultiHelper(1, 1);

            th.WorkMethod    += th_WorkMethod;
            th.CompleteEvent += th_CompleteEvent;
            th.Start();
        }
Beispiel #5
0
 /// <summary>
 /// 开始采集网址列表
 /// </summary>
 public void Start()
 {
     if (this.Stopped || modelTask == null)
     {
         return;
     }
     MessageOut("开始采集数据!请稍候...");
     _tmLinkUrl                = new ThreadMultiHelper(1, 1);
     _tmLinkUrl.WorkMethod    += Run_Task;
     _tmLinkUrl.CompleteEvent += Complete_Task;
     _tmLinkUrl.Start();
 }
        /// <summary>
        /// 开始
        /// </summary>
        /// <param name="args"></param>
        public void Start(object args)
        {
            if (StringHelper.Instance.SetNumber(ModelTask.IsWebOnlinePublish1) == 1)
            {
                gatherEv.Message = "开始发布Web数据!";
                PublishCompalteDelegate(this, gatherEv);
                thPublishData                = new ThreadMultiHelper(1);
                thPublishData.WorkMethod    += PublishDataToWeb;
                thPublishData.CompleteEvent += PublishData;
                thPublishData.Start();
            }

            if (StringHelper.Instance.SetNumber(ModelTask.IsSaveLocal2) == 1)
            {
                gatherEv.Message = "开始发布本地数据!";
                PublishCompalteDelegate(this, gatherEv);
                thPublishData                = new ThreadMultiHelper(1);
                thPublishData.WorkMethod    += PublishDataToLocal;
                thPublishData.CompleteEvent += PublishData;
                thPublishData.Start();
            }

            if (StringHelper.Instance.SetNumber(ModelTask.IsSaveDataBase3) == 1)
            {
                gatherEv.Message = "开始保存到数据库!";
                PublishCompalteDelegate(this, gatherEv);
                thPublishData                = new ThreadMultiHelper(1);
                thPublishData.WorkMethod    += PublishDataToDB;
                thPublishData.CompleteEvent += PublishData;
                thPublishData.Start();
            }

            if (StringHelper.Instance.SetNumber(ModelTask.IsSaveSQL4) == 1)
            {
                gatherEv.Message = "开始发布自定义网站!";
                if (PublishCompalteDelegate != null)
                {
                    PublishCompalteDelegate(this, gatherEv);
                }
                thPublishData                = new ThreadMultiHelper(1);
                thPublishData.WorkMethod    += PublishDataToSQL;
                thPublishData.CompleteEvent += PublishData;
                thPublishData.Start();
            }
        }
 /// <summary>
 /// 采集内容
 /// </summary>
 private void Start()
 {
     if (ModelTask.IsSpiderContent == 1 && ListLinkUrl.Count > 0)
     {
         MessageShow("开始采集列表地址详细内容!");
         //开始采集内容
         int workcount = ListLinkUrl.Count == 0 ? 1 : ListLinkUrl.Count;
         TaskCount         = workcount;
         th                = new ThreadMultiHelper(TaskCount, 12);
         th.WorkMethod    += Run;
         th.CompleteEvent += Complete;
         th.Start();
     }
     else
     {
         MessageShow("采集网站内容选项关闭!或者采集列表的地址为0!不需要采集!");
     }
 }
Beispiel #8
0
 /// <summary>
 /// 采集内容
 /// </summary>
 private void Bind_SpiderContentStart()
 {
     if (modelTask.IsSpiderContent == 1 && _listLinkUrl.Count > 0)
     {
         MessageOut("开始采集列表地址详细内容!");
         //开始采集内容
         int workcount = _listLinkUrl.Count == 0 ? 1 : _listLinkUrl.Count;
         TaskCount                 = workcount;
         _tmViewUrl                = new ThreadMultiHelper(TaskCount, 12);
         _tmViewUrl.WorkMethod    += Run_ViewUrl;
         _tmViewUrl.CompleteEvent += Complete_ViewUrl;
         _tmViewUrl.Start();
     }
     else
     {
         MessageOut("采集网站内容选项关闭!或者采集列表的地址为0!不需要采集!");
         //开始发布内容
         this.Bind_PublishContentStart();
     }
 }
        /// <summary>
        /// 获取站点信息
        /// </summary>
        private void cmbWebSite_SelectedIndexChanged(object sender, EventArgs e)
        {
            var model = (ModelSiteInfo)((ListItem2)this.cmbWebSite.SelectedItem).Value;

            if (model == null)
            {
                return;
            }
            this.btnSubmit.Enabled = false;

            this.cmbClassList.Text = string.Empty;
            this.cmbClassList.Items.Clear();

            var th = new ThreadMultiHelper(1);

            th.WorkMethod += new ThreadMultiHelper.DelegateWork(delegate(int taskindex, int threadindex) {
                string nowTime  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                string baseData = "cmd=getclasslist"
                                  + "&username="******"&userpwd=" + model.UserPwd
                                  + "&time=" + nowTime;
                string md5key    = "&md5key=" + StringHelper.Instance.MD5(baseData, 32).ToLower();
                string senUrl    = model.Url;
                string sendData  = baseData + md5key;
                HttpHelper4 http = new HttpHelper4();
                var result       = http.GetHtml(new HttpItem()
                {
                    URL = senUrl + "?" + sendData
                });
                var html = result.Html;
                try {
                    var json = JObject.Parse(html);
                    var code = json["code"].Value <string>();
                    var list = json["list"].ToArray();

                    this.lblResult.Text = "操作结果成功!结果为:" + code;

                    List <ModelClassList> listClassList = new List <ModelClassList>();
                    this.cmbClassList.Items.Clear();
                    foreach (var l in list)
                    {
                        listClassList.Add(
                            new ModelClassList()
                        {
                            ClassId    = l["classid"].Value <string>(),
                            ClassName  = l["classname"].Value <string>(),
                            CreateTime = ""
                        }
                            );
                    }
                    OutMsg = new OutCmbMsg(OutClassListMsg);
                    OutMsg(listClassList);
                }
                catch (Exception ex) {
                }
            });
            th.CompleteEvent += new ThreadMultiHelper.DelegateComplete(delegate() {
                this.btnSubmit.Enabled = true;
            });
            th.Start();
        }
        /// <summary>
        /// 确定发布数据
        /// </summary>
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            var model = (ModelSiteInfo)((ListItem2)this.cmbWebSite.SelectedItem).Value;

            if (model == null)
            {
                MessageBox.Show("请选择一个网站!");
                this.cmbWebSite.Focus();
                return;
            }

            if (this.cmbClassList.Text == string.Empty)
            {
                MessageBox.Show("请选择一个分类!");
                this.cmbClassList.Focus();
                return;
            }

            var title   = this.txtTitle.Text;
            var content = this.fckHtmlEditorControl1.InnerHtml;

            if (string.IsNullOrEmpty(title) || string.IsNullOrEmpty(content))
            {
                MessageBox.Show("标题或者内容为空!");
                this.txtTitle.Focus();
                return;
            }

            var selectedItem = (ListItem)this.cmbClassList.SelectedItem;
            var classid      = selectedItem.Value;
            var classname    = selectedItem.Text;

            if (classid == string.Empty || classid == "0")
            {
                MessageBox.Show("请选择一个分类!");
                this.cmbClassList.Focus();
                return;
            }
            var th = new ThreadMultiHelper(1);

            th.WorkMethod += new ThreadMultiHelper.DelegateWork(delegate(int taskindex, int threadindex) {
                string nowTime  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                string baseData = "cmd=sendcontent"
                                  + "&username="******"&userpwd=" + model.UserPwd
                                  + "&title=" + StringHelper.Instance.UrlEncode(title, model.Encode)
                                  + "&content=" + StringHelper.Instance.UrlEncode(content, model.Encode)
                                  + "&classid=" + classid
                                  + "&classtitle=" + StringHelper.Instance.UrlEncode(classname, model.Encode)
                                  + "&author=" + string.Empty
                                  + "&time=" + nowTime;
                string md5key    = "&md5key=" + StringHelper.Instance.MD5(baseData, 32).ToLower();
                string sendUrl   = model.Url;
                string sendData  = baseData + md5key;
                HttpHelper4 http = new HttpHelper4();
                var result       = http.GetHtml(new HttpItem()
                {
                    URL         = sendUrl,
                    Method      = "post",
                    Postdata    = sendData,
                    ContentType = "application/x-www-form-urlencoded",
                    Encoding    = Encoding.GetEncoding(model.Encode)
                });
                var html            = result.Html;
                this.lblResult.Text = "操作结果成功!结果为:" + html;

                try {
                    var json            = JObject.Parse(html);
                    var code            = json["code"].Value <string>();
                    this.lblResult.Text = "操作结果成功!结果为:" + code;
                }
                catch (Exception ex) {
                }
            });
            th.CompleteEvent += new ThreadMultiHelper.DelegateComplete(delegate() {
                var r = MessageBox.Show(this, "发布内容成功!", "提示信息!", MessageBoxButtons.OKCancel);
                if (r == System.Windows.Forms.DialogResult.OK)
                {
                    this.Close();
                    this.Dispose();
                }
            });
            th.Start();
        }