public void Publish(IPublishableEvent eventMessage) { var eventMessageType = eventMessage.GetType(); Log.InfoFormat("Started publishing event {0}.", eventMessageType.FullName); var handlers = GetHandlersForEvent(eventMessage).ToList(); var publishedEventClosedType = typeof(PublishedEvent <>).MakeGenericType(eventMessage.Payload.GetType()); var publishedEvent = (PublishedEvent)Activator.CreateInstance(publishedEventClosedType, eventMessage); if (handlers.Count() == 0) { Log.WarnFormat("Did not found any handlers for event {0}.", eventMessageType.FullName); } else { PublishToHandlers(publishedEvent, eventMessageType, handlers); } }
public void Publish(IPublishableEvent eventMessage) { var eventMessageType = eventMessage.GetType(); Log.InfoFormat("Started publishing event {0}.", eventMessageType.FullName); var handlers = GetHandlersForEvent(eventMessage).ToList(); var publishedEventClosedType = typeof(PublishedEvent<>).MakeGenericType(eventMessage.Payload.GetType()); var publishedEvent = (PublishedEvent)Activator.CreateInstance(publishedEventClosedType, eventMessage); if (handlers.Count() == 0) { Log.WarnFormat("Did not found any handlers for event {0}.", eventMessageType.FullName); } else { PublishToHandlers(publishedEvent, eventMessageType, handlers); } }
public void Publish(IPublishableEvent eventMessage) { var eventMessageType = eventMessage.GetType(); Log.InfoFormat("Started publishing event {0}.", eventMessageType.FullName); IEnumerable <Action <PublishedEvent> > handlers = GetHandlersForEvent(eventMessage); if (handlers.Count() == 0) { Log.WarnFormat("Did not found any handlers for event {0}.", eventMessageType.FullName); } else { if (_useTransactionScope) { TransactionallyPublishToHandlers(eventMessage, eventMessageType, handlers); } else { PublishToHandlers(eventMessage, eventMessageType, handlers); } } }