public void RunCommandWithPipeline() { var piplinesService = new DefaultMessagePipelineService(); piplinesService.ServiceProvider = new FuncServiceProvider(InterfacesResolver); piplinesService.PipelineContainer.AddCommandPipeline() .AddMiddleware(new Commands.PipelineMiddlewares.CommandHandlerLocatorMiddleware( typeof(CreateUserCommand).GetTypeInfo().Assembly)) .AddMiddleware(new Commands.PipelineMiddlewares.CommandHandlerResolverMiddleware()) .AddMiddleware(new Commands.PipelineMiddlewares.CommandHandlerExecutorMiddleware { UseParametersResolve = true }); for (int i = 0; i < NumberOfInterations; i++) { var cmd = new CreateUserCommand { FirstName = "Ivan", LastName = "Ivanov", BirthDay = new DateTime(1985, 1, 1), }; piplinesService.HandleCommand(cmd); } }
private static void Test() { var pipelineService = new DefaultMessagePipelineService(); pipelineService.ServiceProvider = new FuncServiceProvider(Resolver); pipelineService.PipelineContainer = new DefaultMessagePipelineContainer { Pipelines = new IMessagePipeline[] { CommandPipeline, QueryPipeline, EventPipeline } }; // Command. pipelineService.HandleCommand(new UpdateProductCommand { ProductId = 10, Name = "Test", }); Console.WriteLine(inMemoryMessageRepository.Dump()); inMemoryMessageRepository.Messages.Clear(); // Query. var list = pipelineService.Query <ProductsQueries>().With(q => q.Get(0, 10)); Console.WriteLine(inMemoryMessageRepository.Dump()); inMemoryMessageRepository.Messages.Clear(); // Event. pipelineService.RaiseEvent(new UpdateProductEvent { Id = 1 }); Console.WriteLine(inMemoryMessageRepository.Dump()); inMemoryMessageRepository.Messages.Clear(); }