Exemplo n.º 1
0
        public override void Unsubscribe(IRuntimeEventPublisher publisher)
        {
            base.Unsubscribe(publisher);

            foreach (ContextRule rule in _rules)
            {
                rule.Unsubscribe(this);
            }
            foreach (IContext subcontext in _subcontexts.Objects)
            {
                IRuntimeEventListener rteListener = subcontext as IRuntimeEventListener;
                if (rteListener != null)
                {
                    rteListener.Unsubscribe(this);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Disconnect from publisher's events
        /// </summary>
        /// <param name="publisher"></param>
        public override void Unsubscribe(IRuntimeEventPublisher publisher)
        {
            base.Unsubscribe(publisher);

            _contextsLock.EnterReadLock();

            try {
                foreach (IContext context in _contexts.Objects)
                {
                    IRuntimeEventListener rteListener = context as IRuntimeEventListener;
                    if (rteListener != null)
                    {
                        rteListener.Unsubscribe(this);
                    }
                }
            }
            finally {
                _contextsLock.ExitReadLock();
            }
        }