/// <summary> /// 保存日志 /// </summary> /// <typeparam name="TMessage">消息类型</typeparam> /// <param name="element">执行元素</param> /// <param name="e">消息</param> /// <param name="ex">异常</param> protected void OnMessageError <TMessage>(MessageExcutingElement element, TMessage e, Exception ex) where TMessage : IMessage { try { element.LoggerBuilder.Build(element.MessageHandlerType).Error(string.Format("处理消息出错MessageType={0},ex:", typeof(TMessage).FullName), ex); } catch { } }
/// <summary> /// 生成方法 /// </summary> /// <typeparam name="TMessage">消息类型</typeparam> /// <param name="e">消息</param> /// <param name="element">执行元素</param> protected void CallMessageInvoke <TMessage>(TMessage e, MessageExcutingElement element) where TMessage : IMessage { try { ((IMessageSubscriber <TMessage>)element.MessageHandler).Execute(element.MessageContext, e); } catch (Exception ex) { if (element.LoggerBuilder != null) { this.OnMessageError(element, e, ex); } } }