static async Task SendOrder(IEndpointInstance endpointInstance) { Console.WriteLine("Press '1' to send PlaceOrder - defer message handling"); Console.WriteLine("Press '2' to send PlaceDelayedOrder - defer message delivery"); Console.WriteLine("Press enter key to exit"); while (true) { var key = Console.ReadKey(); Console.WriteLine(); var id = Guid.NewGuid(); switch (key.Key) { case ConsoleKey.D1: #region SendOrder var placeOrder = new PlaceOrder { Product = "New shoes", Id = id }; await endpointInstance.Send("Samples.DelayedDelivery.Server", placeOrder) .ConfigureAwait(false); Console.WriteLine($"[Defer Message Handling] Sent a new PlaceOrder message with id: {id.ToString("N")}"); #endregion continue; case ConsoleKey.D2: #region DeferOrder var placeDelayedOrder = new PlaceDelayedOrder { Product = "New shoes", Id = id }; var options = new SendOptions(); options.SetDestination("Samples.DelayedDelivery.Server"); options.DelayDeliveryWith(TimeSpan.FromSeconds(5)); await endpointInstance.Send(placeDelayedOrder, options) .ConfigureAwait(false); Console.WriteLine($"[Defer Message Delivery] Deferred a new PlaceDelayedOrder message with id: {id.ToString("N")}"); #endregion continue; case ConsoleKey.Enter: return; default: return; } } }
static async Task SendOrder(IEndpointInstance endpointInstance) { Console.WriteLine("Press '1' to send PlaceOrder - defer message handling"); Console.WriteLine("Press '2' to send PlaceDelayedOrder - defer message delivery"); Console.WriteLine("Press enter key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); Guid id = Guid.NewGuid(); switch (key.Key) { case ConsoleKey.D1: #region SendOrder PlaceOrder placeOrder = new PlaceOrder { Product = "New shoes", Id = id }; await endpointInstance.Send("Samples.DelayedDelivery.Server", placeOrder); Console.WriteLine("[Defer Message Handling] Sent a new PlaceOrder message with id: {0}", id.ToString("N")); #endregion continue; case ConsoleKey.D2: #region DeferOrder PlaceDelayedOrder placeDelayedOrder = new PlaceDelayedOrder { Product = "New shoes", Id = id }; SendOptions options = new SendOptions(); options.SetDestination("Samples.DelayedDelivery.Server"); options.DelayDeliveryWith(TimeSpan.FromSeconds(5)); await endpointInstance.Send(placeDelayedOrder, options); Console.WriteLine("[Defer Message Delivery] Deferred a new PlaceDelayedOrder message with id: {0}", id.ToString("N")); #endregion continue; case ConsoleKey.Enter: return; default: return; } } }
static void SendOrder(IBus bus) { Console.WriteLine("Press '1' to send PlaceOrder - defer message handling"); Console.WriteLine("Press '2' to send PlaceDelayedOrder - defer message delivery"); Console.WriteLine("Press enter key to exit"); while (true) { var key = Console.ReadKey(); Console.WriteLine(); var id = Guid.NewGuid(); switch (key.Key) { case ConsoleKey.D1: #region SendOrder var placeOrder = new PlaceOrder { Product = "New shoes", Id = id }; bus.Send("Samples.DelayedDelivery.Server", placeOrder); Console.WriteLine($"[Defer Message Handling] Sent a PlaceOrder message with id: {id.ToString("N")}"); #endregion continue; case ConsoleKey.D2: #region DeferOrder var placeDelayedOrder = new PlaceDelayedOrder { Product = "New shoes", Id = id }; bus.Defer(TimeSpan.FromSeconds(5), placeDelayedOrder); Console.WriteLine($"[Defer Message Delivery] Deferred a PlaceDelayedOrder message with id: {id.ToString("N")}"); #endregion continue; case ConsoleKey.Enter: return; default: return; } } }
static void SendOrder(IBus bus) { Console.WriteLine("Press '1' to send PlaceOrder - defer message handling"); Console.WriteLine("Press '2' to send PlaceDelayedOrder - defer message delivery"); Console.WriteLine("Press enter key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); Guid id = Guid.NewGuid(); switch (key.Key) { case ConsoleKey.D1: #region SendOrder PlaceOrder placeOrder = new PlaceOrder { Product = "New shoes", Id = id }; bus.Send("Samples.DelayedDelivery.Server", placeOrder); Console.WriteLine("[Defer Message Handling] Sent a new PlaceOrder message with id: {0}", id.ToString("N")); #endregion continue; case ConsoleKey.D2: #region DeferOrder PlaceDelayedOrder placeDelayedOrder = new PlaceDelayedOrder { Product = "New shoes", Id = id }; bus.Defer(TimeSpan.FromSeconds(5), placeDelayedOrder); Console.WriteLine("[Defer Message Delivery] Deferred a new PlaceDelayedOrder message with id: {0}", id.ToString("N")); #endregion continue; case ConsoleKey.Enter: return; default: return; } } }