Esempio n. 1
0
        public static async Task RunSample()
        {
            using (var container = MicrosoftDependencyContainerHelper.CreateServiceCollection())
            {
                var mediator = container.GetService <IMediator>();
                await SendCommands(mediator);
            }

            using (var container = AutofacHelper.CreateAutofacContainer())
            {
                var mediator = container.Resolve <IMediator>();
                await SendCommands(mediator);
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var message = new SimpleMassTransitMessage()
            {
                Message = DateTime.Now.ToString()
            };

            var queueName = typeof(SimpleMassTransitMessage).Name;

            using (var container = AutofacHelper.CreateAutofacContainer())
            {
                var mediator = container.Resolve <IMediator>();

                var busControl = Bus.Factory.CreateUsingInMemory(x =>
                {
                    x.ReceiveEndpoint(queueName, ep =>
                    {
                        ep.Consumer(() =>
                                    new MassTransitMediatedConsumer <SimpleMassTransitMessage, SimpleMassTransitResponse>(mediator)
                                    );
                    });
                });

                busControl.Start();

                var context = new MassTransitSendMediationContext <SimpleMassTransitMessage, SimpleMassTransitResponse>(busControl,
                                                                                                                        new Uri($"loopback://localhost/{queueName}"),
                                                                                                                        TimeSpan.FromSeconds(10));

                var result = mediator.HandleAsync(message, context).ConfigureAwait(false).GetAwaiter().GetResult();

                Console.WriteLine(result.Message);

                Console.ReadLine();

                busControl.Stop();
            }
        }