예제 #1
0
 public CqsModule()
 {
     CommandBus      = new SimpleCommandBus();
     QueryBus        = new SimpleQueryBus();
     EventBus        = new SimpleEventBus();
     RequestReplyBus = new SimpleRequestReplyBus();
     _requestMethod  = GetType().GetMethod("ExecuteRequest", BindingFlags.NonPublic | BindingFlags.Instance);
     _commandMethod  = GetType().GetMethod("ExecuteCommand", BindingFlags.NonPublic | BindingFlags.Instance);
     _queryMethod    = GetType().GetMethod("ExecuteQuery", BindingFlags.NonPublic | BindingFlags.Instance);
 }
예제 #2
0
        private static CqsServer CreateServer()
        {
            var cmdBus = new SimpleCommandBus();
            cmdBus.Register(typeof (Program).Assembly);

            var queryBus = new SimpleQueryBus();
            queryBus.Register(typeof (Program).Assembly);

            var requestReplyBus = new SimpleRequestReplyBus();
            requestReplyBus.Register(typeof (Program).Assembly);

            var eventBus = new SimpleEventBus();
            eventBus.Register(typeof (Program).Assembly);

            var server = new CqsServer(cmdBus, queryBus, eventBus, requestReplyBus);
            server.SerializerFactory = () => new JsonMessageSerializer();
            
            return server;
        }
예제 #3
0
        private static CqsHttpListener CreateServer()
        {
            //can be an ioc bus too.
            var commandBus = new SimpleCommandBus();

            commandBus.Register(Assembly.GetExecutingAssembly());

            var queryBus = new SimpleQueryBus();

            queryBus.Register(Assembly.GetExecutingAssembly());

            //takes care of execution
            var processor = new CqsMessageProcessor {
                CommandBus = commandBus, QueryBus = queryBus
            };

            //receive through HTTP
            var server = new CqsHttpListener(processor);

            return(server);
        }
예제 #4
0
        public async Task Try_server_and_client_together_for_queries()
        {
            //can be an ioc bus too.
            var bus = new SimpleQueryBus();

            bus.Register(Assembly.GetExecutingAssembly());

            //takes care of execution
            var processor = new CqsMessageProcessor {
                QueryBus = bus
            };

            //receive through HTTP
            var server = new CqsHttpListener(processor);

            server.Map(typeof(GetUsers));
            server.Start(new IPEndPoint(IPAddress.Loopback, 0));

            //Our cqs HTTP client.
            var client = new CqsHttpClient("http://localhost:" + server.LocalPort);
            var result = await client.QueryAsync(new GetUsers { FirstName = "Jonas" });
        }
예제 #5
0
        private static CqsServer CreateServer()
        {
            var cmdBus = new SimpleCommandBus();

            cmdBus.Register(typeof(Program).Assembly);

            var queryBus = new SimpleQueryBus();

            queryBus.Register(typeof(Program).Assembly);

            var requestReplyBus = new SimpleRequestReplyBus();

            requestReplyBus.Register(typeof(Program).Assembly);

            var eventBus = new SimpleEventBus();

            eventBus.Register(typeof(Program).Assembly);

            var server = new CqsServer(cmdBus, queryBus, eventBus, requestReplyBus);

            server.SerializerFactory = () => new JsonMessageSerializer();

            return(server);
        }