public static void Run()
        {
            Console.WriteLine("[EventAgregator] Enter run");
            while (true)
            {
                if (subscriptions != null && files.Count > 0)
                {
                    string file = string.Empty;

                    try
                    {
                        file = EventAgregator.files.Take();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("[EventAgregator] Run exception {0}", e.Message);
                        continue;
                    }

                    ProcessingEvent evt = new ProcessingEvent();
                    evt.FileName = file;
                    subscriptions(evt);
                }

                if (waitHandle.WaitOne(50))
                {
                    break;
                }
            }
            Console.WriteLine("[EventAgregator] Exit run");
        }
Example #2
0
        public void Subscription(ProcessingEvent evt)
        {
            Monitor.Enter(evt);
            if (evt.Handled)
            {
                Monitor.Exit(evt);
                return;
            }
            evt.Handled = true;
            EventAgregator.UnSubscribe(this.Subscription);
            Monitor.Exit(evt);

            file = evt.FileName;
        }