void LoadItemSummary(SummaryTask task) { // 最多重试两次 for (int i = 0; i < 2; i++) { string strError = ""; string strSummary = ""; int nRet = this.Container.GetBiblioSummary(task.ItemBarcode, task.ConfirmItemRecPath, out strSummary, out strError); if (nRet == -1) { strSummary = "获取书目摘要时出错: " + strError; task.State = "error"; } else { task.State = "finish"; } this.Container.AsyncFillItemSummary(task.ChargingTask, strSummary, task.State != "error"); if (task.State == "finish") { break; } } }
public void RemoveTask(SummaryTask task, bool bLock = true) { if (bLock == true) { if (this.m_lock.TryEnterWriteLock(m_nLockTimeout) == false) { throw new LockException("锁定尝试中超时"); } } try { this._tasks.Remove(task); } finally { if (bLock == true) { this.m_lock.ExitWriteLock(); } } }
// 加入一个任务到列表中 public void AddTask(SummaryTask task) { task.State = ""; // 表示等待处理 if (this.m_lock.TryEnterWriteLock(500) == false) // m_nLockTimeout { throw new LockException("锁定尝试中超时"); } try { this._tasks.Add(task); } finally { this.m_lock.ExitWriteLock(); } if (this.Stopped == true) { this.BeginThread(); } // 触发任务开始执行 this.Activate(); }
internal void AddItemSummaryTask(string strItemBarcode, string strConfirmItemRecPath, ChargingTask charging_task, bool bClearBofore = true) { if (bClearBofore) { // 如果以前有摘要,要先清除。这样操作者在等待过程中能清楚当前处在什么状态 charging_task.ItemSummary = "正在获取书目摘要 ..."; DisplayTask("refresh", charging_task); } SummaryTask task = new SummaryTask(); task.Action = "get_item_summary"; task.ItemBarcode = strItemBarcode; task.ConfirmItemRecPath = strConfirmItemRecPath; task.ChargingTask = charging_task; this._summaryList.AddTask(task); }
void LoadItemSummary(SummaryTask task) { // 最多重试两次 for (int i = 0; i < 2; i++) { string strError = ""; string strSummary = ""; int nRet = this.Container.GetBiblioSummary(task.ItemBarcode, task.ConfirmItemRecPath, out strSummary, out strError); if (nRet == -1) { strSummary = "获取书目摘要时出错: " + strError; task.State = "error"; } else task.State = "finish"; this.Container.AsyncFillItemSummary(task.ChargingTask, strSummary, task.State != "error"); if (task.State == "finish") break; } }
public void RemoveTask(SummaryTask task, bool bLock = true) { if (bLock == true) { if (this.m_lock.TryEnterWriteLock(m_nLockTimeout) == false) throw new LockException("锁定尝试中超时"); } try { this._tasks.Remove(task); } finally { if (bLock == true) this.m_lock.ExitWriteLock(); } }
// 加入一个任务到列表中 public void AddTask(SummaryTask task) { task.State = ""; // 表示等待处理 if (this.m_lock.TryEnterWriteLock(500) == false) // m_nLockTimeout throw new LockException("锁定尝试中超时"); try { this._tasks.Add(task); } finally { this.m_lock.ExitWriteLock(); } if (this.Stopped == true) this.BeginThread(); // 触发任务开始执行 this.Activate(); }