/// <summary> /// 订阅事件 /// </summary> /// <param name="eventType"></param> /// <param name="factory"></param> /// <returns></returns> public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory) { // 自定义的事件订阅者,可以不需要事件注册的事件类型 CustomDistributedEventSubscriber.Subscribe(eventType, factory); return(new DisposeAction(() => CustomDistributedEventSubscriber.UnSubscribe(eventType, factory))); }
/// <summary> /// 退订事件 /// </summary> /// <param name="eventType">事件类型</param> /// <param name="factory">事件处理器工厂</param> public override void Unsubscribe(Type eventType, IEventHandlerFactory factory) { GetOrCreateHandlerFactories(eventType).Locking(factories => factories.Remove(factory)); CustomDistributedEventSubscriber.UnSubscribe(eventType, factory); }