/// <summary> /// Occurs when the message dispatcher failed to dispatch a message. /// </summary> /// <param name="e">The event data.</param> protected virtual void OnDispatchFailed(MessageDispatchEventArgs e) { var temp = this.DispatchFailed; if (temp != null) { temp(this, e); } }
private void HandlerMessage <T>(object messageHandlerInstanceOrType, T message) { var dynMessageHandler = GetHandler <T>(messageHandlerInstanceOrType); var evtArgs = new MessageDispatchEventArgs(message, messageHandlerInstanceOrType.GetType(), messageHandlerInstanceOrType); this.OnDispatching(evtArgs); try { dynMessageHandler.Handle(message); this.OnDispatched(evtArgs); } catch { this.OnDispatchFailed(evtArgs); } }