Ejemplo n.º 1
0
        public static void RegisterMessageToMessageBus(IMessageBus messageBus, Type messageType, Type messageListenerType,
                                                       string exchange, string queue)
        {
            messageType.EnsureDerivesFromInterface(typeof(IMessage));
            messageListenerType.EnsureDerivesFromGenericInterfaceNotEqual(typeof(IMessageListener <>), messageType);

            MethodInfo?method = messageBus.GetType()
                                .GetMethod(nameof(IMessageBus.Register), 2, new Type[] { typeof(string), typeof(string) });

            MethodInfo generic = method !.MakeGenericMethod(messageType, messageListenerType);

            generic !.Invoke(messageBus, new object[] { exchange, queue });
        }
Ejemplo n.º 2
0
        private void SendMessages()
        {
            for (var i = 0; i < NumberOfMessages; i++)
            {
                m_Bus.Publish(new TestMessage
                {
                    Counter = i
                });
            }

            string name = m_Bus.GetType().Name;

            WriteLine($"[{name}] Finished sending messages!");
        }