コード例 #1
0
ファイル: EventBus.cs プロジェクト: moutonkevin/TestDynamo
        public IListener StartListening <TEvent, THandler>(EventConfiguration configuration = null)
            where TEvent : Event
            where THandler : IHandler <TEvent>
        {
            if (_eventBusInitializer.IsSuccessfullyInitialized <TEvent>())
            {
                ListenToInternal <TEvent, THandler>();
            }

            if (configuration == null)
            {
                configuration = new DefaultEventConfiguration();
            }

            var setupTask = _eventBusInitializer.SetupMessageBusWithSnsAndSqs <TEvent>(configuration);

            setupTask.Wait();

            if (setupTask.Result)
            {
                ListenToInternal <TEvent, THandler>();
            }

            return(this);
        }
コード例 #2
0
ファイル: EventBus.cs プロジェクト: moutonkevin/TestDynamo
        public async Task <bool> PublishAsync <TEvent>(TEvent content, EventConfiguration configuration = null) where TEvent : Event
        {
            if (_eventBusInitializer.IsSuccessfullyInitialized <TEvent>())
            {
                return(await PublishInternalAsync(content));
            }

            if (configuration == null)
            {
                configuration = new DefaultEventConfiguration();
            }

            if (await _eventBusInitializer.SetupMessageBusWithSnsAndSqs <TEvent>(configuration))
            {
                return(await PublishInternalAsync(content));
            }

            return(false);
        }