private void btn_refresh_url_Click(object sender, EventArgs e) { btn_refresh_url.Enabled = false; try { urlDataTable.Clear(); Int32 allMailCnt = 0, addMailCnt = 0, completeUrlCnt = 0; dgv_url.Columns["状态"].Visible = "全部".Equals(cb_parse_run_status.Text); foreach (DictionaryEntry de in (Hashtable)runtimeService.getAll().Clone()) { DataRow row = urlDataTable.NewRow(); row["URL"] = de.Key; RuntimeEntity runtime = (RuntimeEntity)de.Value; row["等待处理个数"] = runtime.getWaitQueueCnt(); row["正在处理个数"] = runtime.getStartQueueCnt(); row["处理成功个数"] = runtime.getSuccessQueueCnt(); row["请求网页超时数"] = runtime.getErrorQueueCnt(); row["抓取非重复邮箱数"] = runtime.AddMailCnt; row["状态"] = runtime.RunStatus; if ("执行中".Equals(cb_parse_run_status.Text)) { if (Constant.RunStatus.RUNING.Equals(runtime.RunStatus) || Constant.RunStatus.STOPING.Equals(runtime.RunStatus)) { urlDataTable.Rows.Add(row); } } else if ("执行完成".Equals(cb_parse_run_status.Text)) { if (Constant.RunStatus.STOP.Equals(runtime.RunStatus)) { urlDataTable.Rows.Add(row); } } else { urlDataTable.Rows.Add(row); } allMailCnt += runtime.AllMailCnt; addMailCnt += runtime.AddMailCnt; completeUrlCnt += runtime.getSuccessQueueCnt() + runtime.getErrorQueueCnt(); } lb_all_mail_cnt.Text = "抓取邮箱数:" + Convert.ToString(allMailCnt); lb_add_mail_cnt.Text = "非重复邮箱数:" + Convert.ToString(addMailCnt); lb_url_cnt.Text = "请求链接数:" + Convert.ToString(urlDataTable.Rows.Count); lb_complete_url_cnt.Text = "已分析链接数:" + Convert.ToString(completeUrlCnt); lb_parse_cnt_pre_sec.Text = "每秒分析链接数:" + Math.Ceiling(completeUrlCnt / stopwatch.Elapsed.TotalSeconds); } catch { } btn_refresh_url.Enabled = true; }