Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
                 }
             });
         }
     }));
 }