static void Main(string[] args) { const string STREAM = "a_test_stream"; const int DEFAULTPORT = 1113; LogManager.Configuration = LoggingConfig.GetDefault(); var queue = new ReadmodelPublisher(); queue.Start(typeof(OrderCreatedEvent).Assembly); _queue = queue; //uncommet to enable verbose logging in client. var settings = ConnectionSettings.Create();//.EnableVerboseLogging().UseConsoleLogger(); using (var conn = EventStoreConnection .Create(settings, new Uri($"tcp://*****:*****@localhost:{DEFAULTPORT}"), "myConn")) { var readModelSubscription = new ReadModelSubscription().SetRetryPolicy(Retries.Fifteen, (i) => TimeSpan.FromMilliseconds(500)); var readModelConsumer = new ReadModelConsumer(conn, queue); conn.ConnectAsync().Wait(); Task.Run(async() => { await readModelConsumer.ConnectToSubscription(readModelSubscription); }); Console.WriteLine("waiting for events. press enter to exit"); Console.ReadLine(); } }
private static void TestSendCommandAndFillupReadmodel(ReadmodelPublisher queue, FakeBus bus) { queue.Start(typeof(Program).Assembly); System.Console.WriteLine("Hit any to start. Ctrl+C to quit when running."); System.Console.ReadKey(); var cancellationTokenSource = new CancellationTokenSource(); var senderTask = new Action(async() => { var orderId = Guid.NewGuid(); var loopIterations = 0; while (loopIterations < 20) { if (cancellationTokenSource.IsCancellationRequested) { break; } await bus.SendAsync(new CreateOrderCommand() { OrderId = orderId, CustomerName = "Joske" }); await bus.SendAsync(new AddItemToCardCommand() { OrderId = orderId, Card = "test" }); orderId = Guid.NewGuid(); await Task.Delay(1, cancellationTokenSource.Token); loopIterations++; } }); var tList = new List <Task>(); for (int i = 0; i < 1; i++) { var t = new Task(senderTask, cancellationTokenSource.Token, TaskCreationOptions.LongRunning); t.Start(); tList.Add(t); } Console.WriteLine("done"); Console.ReadKey(); // var summary = queue.Getsummary(); //Console.WriteLine($"summary, send {intSequence} items, handled messages summary: {summary}"); try { cancellationTokenSource.Cancel(); queue.Stop(); } catch (Exception ex) { Console.WriteLine(ex); } Console.ReadKey(); }