/// <summary> /// 处理异常 /// </summary> /// <param name="obj">队列实例</param> /// <param name="ex">异常对象</param> /// <param name="value">出错的数据</param> private void ProcessQueue_ProcessExceptionEvent(ProcessQueue <IeCommandMessage> obj, Exception ex, IeCommandMessage value) { Console.WriteLine($"ProcessQueue_ProcessExceptionEvent -> before stop {obj.GetInternalItemCount()}"); new Task(obj.StopAndClear).Start(); Console.WriteLine($"ProcessQueue_ProcessExceptionEvent -> after stop {obj.GetInternalItemCount()}"); }
private Singleton() { _processQueue = new ProcessQueue <IeCommandMessage>(); _processQueue.ProcessItemEvent += ProcessQueue_ProcessItemEvent; _processQueue.ProcessExceptionEvent += ProcessQueue_ProcessExceptionEvent; }