// Register IPublisher<T>/ISubscriber<T> and global filter. static void RegisterMessageBroker <T>(IContainerBuilder builder, MessagePipeOptions options) { builder.RegisterMessageBroker <T>(options); // setup for global filters. options.AddGlobalMessageHandlerFilter <MyMessageHandlerFilter <T> >(); }
public void ShouldCreateASubscriberAndAPublisher() { var messagePipeOptions = new MessagePipeOptions(); var messagePipeDiagnosticsInfo = new MessagePipeDiagnosticsInfo(messagePipeOptions); var messageBrokerCore = new MessageBrokerCore <SomeEvent>(messagePipeDiagnosticsInfo, messagePipeOptions); var messageBroker = new MessageBroker <SomeEvent>(messageBrokerCore); var consumer = new Consumer <SomeEvent>(messageBroker); var publisher = new Publisher <SomeEvent>(messageBroker); publisher.Send(); Assert.True(consumer.Events.Count == 1); }
static void RegisterRequest <TRequest, TResponse, THandler>(IContainerBuilder builder, MessagePipeOptions options) where THandler : IRequestHandler { builder.RegisterRequestHandler <TRequest, TResponse, THandler>(options); options.AddGlobalRequestHandlerFilter <MyRequestHandlerFilter <TRequest, TResponse> >(); }