private static async void SendCommand(IBusControl bus, Uri sendToUri) { var endPoint = await bus.GetSendEndpoint(sendToUri); var command = new GreetingCommand() { Id = Guid.NewGuid(), DateTime = DateTime.Now }; await endPoint.Send(command); Console.WriteLine($"send command:id={command.Id},{command.DateTime}"); }
private static void Main(string[] args) { //var dbPath = Path.Combine(Path.GetDirectoryName(typeof(GreetingCommandHandler).GetTypeInfo().Assembly.GetName().FullName), "App_Data\\CommandStore.sdf"); //var connectionString = "DataSource=\"" + dbPath + "\""; string connectionString = ""; var configuration = new MsSqlCommandStoreConfiguration(connectionString, "Commands"); var commandStore = new MsSqlCommandStore(configuration); var registry = new SubscriberRegistry(); registry.Register <GreetingCommand, GreetingCommandHandler>(); var tinyIoCContainer = new TinyIoCContainer(); tinyIoCContainer.Register <IHandleRequests <GreetingCommand>, GreetingCommandHandler>(); tinyIoCContainer.Register <IAmACommandStore>(commandStore); var builder = CommandProcessorBuilder.With() .Handlers(new HandlerConfiguration( subscriberRegistry: registry, handlerFactory: new TinyIocHandlerFactory(tinyIoCContainer) )) .DefaultPolicy() .NoTaskQueues() .RequestContextFactory(new InMemoryRequestContextFactory()); var commandProcessor = builder.Build(); var greetingCommand = new GreetingCommand("Ian"); commandProcessor.Send(greetingCommand); var retrievedCommand = commandStore.Get <GreetingCommand>(greetingCommand.Id); var commandAsJson = JsonConvert.SerializeObject(retrievedCommand); Console.WriteLine(string.Format("Command retrieved from store: {0}", commandAsJson)); Console.ReadLine(); }