Example #1
0
        public Task RaiseEventAsync(ICompositionEvent @event)
        {
            IList <Subscription> subscribers;

            if (subscriptions.TryGetValue(@event.GetType(), out subscribers))
            {
                var tasks = new List <Task>();
                foreach (var subscriber in subscribers)
                {
                    tasks.Add(subscriber.Invoke(this, @event, requestContext));
                }

                return(Task.WhenAll(tasks));
            }

            return(Task.CompletedTask);
        }
Example #2
0
 public Task RaiseEventAsync(ICompositionEvent @event)
 {
     return(inMemoryBroker.BroadcastAsync(this, @event));
 }