예제 #1
0
        public async void Start()
        {
            _Router = new PoorMansRouter();

            var factory = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare("StartR", true, false, false, null);

                    var consumer = new QueueingBasicConsumer(channel);
                    channel.BasicConsume("StartR", false, consumer);

                    Console.WriteLine(" [*] Waiting for messages." +
                                      "To exit press CTRL+C");

                    while (true)
                    {
                        var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();

                        var body    = ea.Body;
                        var message = Encoding.UTF8.GetString(body);
                        //Task.Run(() =>
                        //{

                        Console.WriteLine(" [x] Received {0}", message);
                        _Router.Route(message, () =>
                        {
                            channel.BasicAck(ea.DeliveryTag, false);
                        });
                        //});
                    }
                }
            }
        }
예제 #2
0
        public void Start()
        {
            _Router = new PoorMansRouter();

            _cn = new HubConnection("http://localhost:29141/");

            _proxy = _cn.CreateHubProxy("qualification");
            _cn.Start();

            var factory = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare("StartR", true, false, false, null);

                    var consumer = new QueueingBasicConsumer(channel);
                    channel.BasicConsume("StartR", false, consumer);
                    Console.WriteLine(" [*] Waiting for messages." +
                                      "To exit press CTRL+C");
                    while (true)
                    {
                        var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();

                        var body    = ea.Body;
                        var message = Encoding.UTF8.GetString(body);
                        Console.WriteLine("Messaged received: " + message.Substring(0, 25));
                        _Router.Route(message, (obj) =>
                        {
                            channel.BasicAck(ea.DeliveryTag, false);
                            _proxy.Invoke("updateQualification", obj);
                        });
                    }
                }
            }
        }
예제 #3
0
파일: Service.cs 프로젝트: Rustemt/StartR
        public void Start()
        {
            _Router = new PoorMansRouter();

            _cn = new HubConnection("http://localhost:29141/");

            _proxy = _cn.CreateHubProxy("qualification");
            _cn.Start();

            var factory = new ConnectionFactory() { HostName = "localhost" };
            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare("StartR", true, false, false, null);

                    var consumer = new QueueingBasicConsumer(channel);
                    channel.BasicConsume("StartR", false, consumer);
                    Console.WriteLine(" [*] Waiting for messages." +
                                             "To exit press CTRL+C");
                    while (true)
                    {

                        var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();

                        var body = ea.Body;
                        var message = Encoding.UTF8.GetString(body);
                        Console.WriteLine("Messaged received: " + message.Substring(0, 25));
                        _Router.Route(message, (obj) =>
                        {
                            channel.BasicAck(ea.DeliveryTag, false);
                            _proxy.Invoke("updateQualification", obj);
                        });
                    }
                }
            }
        }
예제 #4
0
        public async void Start()
        {
            _Router = new PoorMansRouter();

            var factory = new ConnectionFactory() { HostName = "localhost" };
            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare("StartR", true, false, false, null);

                    var consumer = new QueueingBasicConsumer(channel);
                    channel.BasicConsume("StartR", false, consumer);

                    Console.WriteLine(" [*] Waiting for messages." +
                                             "To exit press CTRL+C");

                    while (true)
                    {
                        var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();

                        var body = ea.Body;
                        var message = Encoding.UTF8.GetString(body);
                        //Task.Run(() =>
                        //{

                            Console.WriteLine(" [x] Received {0}", message);
                            _Router.Route(message, () =>
                            {
                                channel.BasicAck(ea.DeliveryTag, false);
                            });
                        //});
                    }
                }
            }
        }
예제 #5
0
 public FakeMessageSender()
 {
     _router = new PoorMansRouter();
 }