public async void FireNamedEventTest() { TestEventSourceLoggable src = GetTestEventSource(); bool?fired = false; InProcessEvents.ClearSubscribers <TestEventSourceLoggable>("TestEvent"); InProcessEvents.Subscribe <TestEventSourceLoggable>("TestEvent", (em, c) => { fired = true; }); await src.Test(); Thread.Sleep(300); Expect.IsTrue(fired.Value); OutLineFormat("fire named event test ran to completion", ConsoleColor.Green); OutLineFormat("done", ConsoleColor.Green); }
protected Task FireListenersAsync(string eventName, object sender, EventArgs args) { InProcessEvents.FireListenersAsync(GetType(), eventName, sender, args); return(Task.Run(() => { if (_listeners.ContainsKey(eventName)) { Parallel.ForEach(_listeners[eventName], (subscription) => { try { subscription.Invoke(sender, args); } catch (Exception ex) { Logger.AddEntry("{0}::Exception occurred in EventSource Listenter for event name ({1}): {2}", LogEventType.Warning, ex, GetType().Name, eventName, ex.Message); } }); } })); }