示例#1
0
        public Task Handle(ExecuteYResponse message, IMessageHandlerContext context)
        {
            log.Info($"We received confirmation that order {message.OrderId} finished processing!");

            Data.IsProcessCompleted = true;

            return(Task.CompletedTask);
        }
示例#2
0
        public async Task Handle(ExecuteYRequest message, IMessageHandlerContext context)
        {
            log.Info($"Received ReportyOnY message with order id {message.OrderId}");
            log.Info("Now calling ApplicationB Facade layer to return status");

            var requestUri = WebUtilities.AddQueryString("/api/home", "orderId", message.OrderId.ToString());

            await Task.Delay(5000); // simulate that ApplicationA is really slow.

            var request = new HttpRequestMessage(HttpMethod.Post, requestUri);

            var response = await httpClient.SendAsync(request);

            response.EnsureSuccessStatusCode();

            var newMessage = new ExecuteYResponse {
                OrderId = message.OrderId
            };
            await context.Reply(newMessage);
        }