public void DoneTask(SpiderTask task) { //任务完成后 if (task.Status == eTaskStatus.Fail) ZicLog4Net.ProcessLog(MethodBase.GetCurrentMethod(), new StringBuilder().AppendFormat("SpiderTask Fail: {0} - {1} - {2}", task.HandlerAgent, task.Error, task.Url).ToString(), "Grab", LogType.Warn); //完整替换List成员必须使用index赋值方法。不能直接赋值引用对象成员。 int index = TaskQueue.tasks.FindIndex(d => d.Id == task.Id);//在任务列表中找到该任务 if (index >= 0) { TaskQueue.tasks[index] = task;//更新任务状态 BroadcastRanderTask();//这里用来更新界面显示 } }
public void Inject(SpiderTask task) { this.SourceCode = task.Source; this.SourceLink = task.Url; this.GrabDate = DateTime.Now; }