/// <summary> /// 通知引擎所有任务已经完成。这将导致客户端收到任务结束事件,并回收该任务激活器。 /// </summary> /// <param name="args">任务结束事件参数。</param> protected void OnTerminateActivator(TaskOverEventArgs args) { Message message = Message.CreateSystemMessage((Int32)SystemMessageCode.TaskOverEvent, args); OnSend(message); RequestTerminateTask.Invoke(); }
private void Receive() { Message message = null; while (!_requestStop) { message = _transceiver.Receive(); if (message != null) { switch (message.Code) { case (Int32)SystemMessageCode.TaskOverEvent: { Terminate(); TaskOverEventArgs args = message.GetContent <TaskOverEventArgs>(); OnTaskOver(args); } break; case (Int32)SystemMessageCode.ActivatorErrorEvent: { Terminate(); ActivatorErrorEventArgs args = message.GetContent <ActivatorErrorEventArgs>(); OnActivatorError(args); } break; default: ReceiveCallback?.Invoke(message); break; } } } }
/// <summary> /// 触发任务结束事件。 /// </summary> /// <param name="args">事件参数。</param> private void OnTaskOver(TaskOverEventArgs args) { TaskOver?.Invoke(this, args); }