コード例 #1
0
        /// <summary>Parameterized constructor.
        /// </summary>
        /// <param name="eventHandlerTypeCodeProvider"></param>
        /// <param name="eventHandlerProvider"></param>
        /// <param name="eventPublishInfoStore"></param>
        /// <param name="eventHandleInfoStore"></param>
        /// <param name="eventHandleInfoCache"></param>
        /// <param name="actionExecutionService"></param>
        /// <param name="loggerFactory"></param>
        public DefaultEventProcessor(
            IEventHandlerTypeCodeProvider eventHandlerTypeCodeProvider,
            IEventHandlerProvider eventHandlerProvider,
            IEventPublishInfoStore eventPublishInfoStore,
            IEventHandleInfoStore eventHandleInfoStore,
            IEventHandleInfoCache eventHandleInfoCache,
            IActionExecutionService actionExecutionService,
            ILoggerFactory loggerFactory)
        {
            _eventHandlerTypeCodeProvider = eventHandlerTypeCodeProvider;
            _eventHandlerProvider = eventHandlerProvider;
            _eventPublishInfoStore = eventPublishInfoStore;
            _eventHandleInfoStore = eventHandleInfoStore;
            _eventHandleInfoCache = eventHandleInfoCache;
            _actionExecutionService = actionExecutionService;
            _logger = loggerFactory.Create(GetType().Name);
            _queueList = new List<BlockingCollection<EventProcessingContext>>();
            for (var index = 0; index < WorkerCount; index++)
            {
                _queueList.Add(new BlockingCollection<EventProcessingContext>(new ConcurrentQueue<EventProcessingContext>()));
            }

            _workerList = new List<Worker>();
            for (var index = 0; index < WorkerCount; index++)
            {
                var queue = _queueList[index];
                var worker = new Worker(() =>
                {
                    DispatchEventsToHandlers(queue.Take());
                });
                _workerList.Add(worker);
                worker.Start();
            }
        }
コード例 #2
0
 public EventHandlerModel(EventInformation eventInfo, DocumentCompositeNode compositeNode, CodeDomProvider codeDomProvider, IEventHandlerProvider eventHandlerProvider, AttributeCollection eventAttributes)
 {
     this.eventInfo            = eventInfo;
     this.compositeNode        = compositeNode;
     this.eventHandlerProvider = eventHandlerProvider;
     this.codeDomProvider      = codeDomProvider;
     this.proxyValue           = this.MethodName;
     this.eventAttributes      = eventAttributes;
 }
コード例 #3
0
ファイル: Mediator.cs プロジェクト: dementcore/Mediate
        /// <summary>
        /// Mediator constructor
        /// </summary>
        /// <param name="provider">Event and query handlers provider</param>
        /// <param name="middlewareProvider">Event and query middlewares provider</param>
        /// <param name="eventDispatchStrategy">Event dispatching strategy to use</param>
        public Mediator(IHandlerProvider provider, IMiddlewareProvider middlewareProvider, IEventDispatchStrategy eventDispatchStrategy)
        {
            _queryHandlerProvider  = provider;
            _eventHandlerProvider  = provider;
            _eventDispatchStrategy = eventDispatchStrategy;

            _queryMiddlewareProvider = middlewareProvider;
            _eventMiddlewareProvider = middlewareProvider;
        }
コード例 #4
0
        public DomainEventDispatcher(IEventHandlerProvider provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            _provider = provider;
        }
コード例 #5
0
 public DefaultCommittedEventExecutor(
     IEventHandlerProvider eventHandlerProvider,
     IEventPublishInfoStore eventPublishInfoStore,
     IEventHandleInfoStore eventHandleInfoStore,
     IRetryService retryService,
     ILoggerFactory loggerFactory)
 {
     _eventHandlerProvider  = eventHandlerProvider;
     _eventPublishInfoStore = eventPublishInfoStore;
     _eventHandleInfoStore  = eventHandleInfoStore;
     _retryService          = retryService;
     _logger = loggerFactory.Create(GetType().Name);
 }
コード例 #6
0
ファイル: DefaultEventExecutor.cs プロジェクト: hxzqlh/enode
 public DefaultEventExecutor(
     IEventHandlerProvider eventHandlerProvider,
     IEventPublishInfoStore eventPublishInfoStore,
     IEventHandleInfoStore eventHandleInfoStore,
     IEventPublisher eventPublisher,
     ILoggerFactory loggerFactory)
 {
     _eventHandlerProvider = eventHandlerProvider;
     _eventPublishInfoStore = eventPublishInfoStore;
     _eventHandleInfoStore = eventHandleInfoStore;
     _eventPublisher = eventPublisher;
     _logger = loggerFactory.Create(GetType().Name);
 }
コード例 #7
0
 public InMemoryEventConsumer(IEventHandlerProvider eventHandlerProvider)
 {
     this.eventHandlerProvider = eventHandlerProvider;
 }
コード例 #8
0
 public InMemoryEventConsumer(IEventHandlerProvider eventHandlerProvider)
 {
     this.eventHandlerProvider = eventHandlerProvider;
 }
コード例 #9
0
 public InProcessEventPublisher(IEventHandlerProvider eventHandlerProvider)
 {
     _eventHandlerProvider = eventHandlerProvider;
 }
コード例 #10
0
 public EventController(IEventHandlerProvider eventHandlerProvider)
 {
     _eventHandlerProvider = eventHandlerProvider;
 }
コード例 #11
0
 public void AddProvider(IEventHandlerProvider <TMetaData> provider)
 {
     providers.Add(provider);
 }