public void HandleMessage(IMessage msg, dynamic handler,string processor) { if(msg.IsNot<ICommand>() && msg.IsNot<IEvent>()) return; _auditor.Handling(msg, HandlerType, processor); try { if (msg is ICommand) handler.Execute((dynamic) msg); else { handler.Handle((dynamic) msg); } } catch (Exception ex) { _auditor.Handled(msg, HandlerType, processor,ex); var mex= new HandledMessageException(handler.GetType(),msg,ex); _errors.MessageHandlingFailed(msg,mex); return; } //just in case the auditor throws _auditor.Handled(msg, HandlerType, processor); }
public void HandleMessage(IMessage msg, dynamic handler, string processor) { if (msg.IsNot <ICommand>() && msg.IsNot <IEvent>()) { return; } _auditor.Handling(msg, HandlerType, processor); try { if (msg is ICommand) { handler.Execute((dynamic)msg); } else { handler.Handle((dynamic)msg); } } catch (Exception ex) { _auditor.Handled(msg, HandlerType, processor, ex); var mex = new HandledMessageException(handler.GetType(), msg, ex); _errors.MessageHandlingFailed(msg, mex); return; } //just in case the auditor throws _auditor.Handled(msg, HandlerType, processor); }
public void MessageHandlingFailed(IMessage msg, HandledMessageException ex) { }