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); }
private static void Main(string[] args) { // tell library to authorize the usage of command/queries GlobalConfiguration.AuthorizationFilter = new RoleAuthorizer(); // build autofac var adapter = BuildContainer(); var builder = new IocBusBuilder(adapter); var listener = new CqsHttpListener(builder.BuildMessageProcessor()); listener.ScanAssembly(typeof(GetUsers).Assembly); listener.Authenticator = CreateAuthenticator(); listener.Logger = Console.WriteLine; listener.RequestFilter += OnServeFiles; listener.Start(new IPEndPoint(IPAddress.Any, 8899)); Console.WriteLine("Browse to http://localhost:8899 and login with user/user or admin/admin."); Console.WriteLine("Press ENTER to quit"); Console.ReadLine(); }
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" }); }
public async Task Try_server_and_client_together() { //can be an ioc bus too. var commandBus = new SimpleCommandBus(); commandBus.Register(Assembly.GetExecutingAssembly()); //takes care of execution var processor = new CqsMessageProcessor { CommandBus = commandBus }; //receive through HTTP var server = new CqsHttpListener(processor); server.Map(typeof(RaiseHands)); server.Start(new IPEndPoint(IPAddress.Loopback, 0)); //Our cqs HTTP client. var client = new CqsHttpClient("http://localhost:" + server.LocalPort); await client.ExecuteAsync(new RaiseHands { Reason = "all YOUR base" }); }