Exemplo n.º 1
0
 public void AsyncRecieve (AsyncronousMessageRequest request)
 {
     Console.Write("Got Async Message");
     IMessageSender messagesender = DependencyInjector.Container.Resolve<IMessageSender>();
     messagesender.Initialize(request.ServiceId);
     messagesender.Send(request);
 }
Exemplo n.º 2
0
        public void Send(AsyncronousMessageRequest request)
        {
            if(this.bus == null || this.busConnectionDetails == null || serviceDetails == null)
            {
                throw new ArgumentException("The sender has not been Initialized. Please call the Initialize method first.");
            }

            var operation = ServiceOperationCache.Get(request.ServiceId, request.OperationId);

            var message = JsonConvert.DeserializeObject(request.Message, operation.RequestType);
            this.bus.Publish(operation.RequestType, message);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            DependencyInjector.RegisterDependencies();

            using (DependencyInjector.Container.Resolve<MessageReciever>())
            {
                Console.WriteLine("Listening to messages ...");
                
                while (true)    
                {
                    Console.WriteLine("Enter 1 for Add Customer, and 2 for GetCustomer");
                    var selection = Console.ReadLine();
                    var bus = RabbitHutch.CreateBus(string.Format("host=localhost"));

                    var addCustomerMessage = new AsyncronousMessageRequest()
                    {
                        Message = testJson,
                        ServiceId = "BasicSenderTwo",
                        OperationId = "AddCustomer"
                    };

                    var getCustomerMessage = new SyncronousMessageRequest()
                    {
                        Message = customerIdentifier,
                        ServiceId = "BasicSenderTwo",
                        OperationId = "GetCustomer"
                    };

                    switch (selection)
                    {
                        case "1":
                            bus.Publish(addCustomerMessage);
                            break;
                        case "2":
                            var response = bus.Request<SyncronousMessageRequest,SyncronousMessageResponse>(getCustomerMessage);
                            Console.WriteLine(response.Message);
                            break;
                    }
                    

                    bus.Dispose();

                    Console.WriteLine("Message has been sent");
                }                
            }
        }