public decimal RunQueryWithPipeline() { var pipelineService = new DefaultMessagePipelineService(); pipelineService.PipelineContainer.AddQueryPipeline() .AddMiddleware(new Queries.PipelineMiddlewares.QueryObjectResolverMiddleware { UseInternalObjectResolver = true }) .AddMiddleware(new Queries.PipelineMiddlewares.QueryExecutorMiddleware()); decimal result = 0; for (int i = 0; i < NumberOfInterations; i++) { result += pipelineService.Query <MathQueryHandlers>().With(q => q.Sum(2, 3)); } return(result); }
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(); }