Example #1
0
        static void Main(string[] args)
        {
            var calculatorRpcClient = new RabbitRpcClient <ICalculator>("host=localhost;username=guest;password=guest;virtualHost=rabbitCommunicationTest", "rabbit.test");

            calculatorRpcClient.Connect();
            var calculatorModule = calculatorRpcClient.GetServerProxy();

            while (true)
            {
                Console.WriteLine("1) Add");
                Console.WriteLine("2) Subtract");
                Console.WriteLine("3) Multiply");
                Console.WriteLine("4) Divide");
                var readLine = Console.ReadLine();
                if (readLine == null)
                {
                    continue;
                }
                var line = readLine.ToLower();

                if (line == "exit")
                {
                    break;
                }

                ParseLine(line, calculatorModule);
            }
            calculatorRpcClient.Close();
        }
Example #2
0
        public void Setup()
        {
            Server = new ServerMock();

            RabbitRpcServer = new RabbitRpcServer <IServerTest>(ConnectionString, BrokerId, Server);
            RabbitRpcClient = new RabbitRpcClient <IServerTest>(ConnectionString, BrokerId);
            ServerProxy     = RabbitRpcClient.GetServerProxy();

            RabbitRpcServer.Connect();
            RabbitRpcClient.Connect();
        }
        public void Setup()
        {
            Server = new ServerMock();

            RabbitRpcServer = new RabbitRpcServer<IServerTest>(ConnectionString, BrokerId, Server);
            RabbitRpcClient = new RabbitRpcClient<IServerTest>(ConnectionString, BrokerId);
            ServerProxy = RabbitRpcClient.GetServerProxy();

            RabbitRpcServer.Connect();
            RabbitRpcClient.Connect();
        }
        /// <summary>
        /// 创建RPC客户端
        /// </summary>
        /// <param name="messageQueueInfoFactory">消息队列信息工厂</param>
        /// <returns>RPC客户端</returns>
        public IRpcClient CreateRpcClient(IMessageQueueInfoFactory messageQueueInfoFactory)
        {
            ValidateUtil.ValidateNull(messageQueueInfoFactory, "消息队列信息工厂");
            ValidateConnection();

            IRpcClient rpcClient = new RabbitRpcClient(CreateChannel(), messageQueueInfoFactory);

            AddClosedEventHandler(rpcClient);

            return(rpcClient);
        }
        /// <summary>
        /// 创建RPC客户端
        /// </summary>
        /// <param name="messageQueueInfo">消息队列信息</param>
        /// <returns>RPC客户端</returns>
        public IRpcClient CreateRpcClient(MessageQueueInfo messageQueueInfo)
        {
            ValidateUtil.ValidateNull(messageQueueInfo, "Rabbit消息队列信息");
            ValidateConnection();

            IRpcClient rpcClient = new RabbitRpcClient(CreateChannel(), RabbitMessageQueueInfo.From(messageQueueInfo));

            AddClosedEventHandler(rpcClient);

            return(rpcClient);
        }
        /// <summary>
        /// 创建RPC客户端
        /// </summary>
        /// <param name="queueOrOtherIdentify">队列或其他标识</param>
        /// <param name="messageQueueInfoFactory">消息队列信息工厂</param>
        /// <returns>RPC客户端</returns>
        public IRpcClient CreateRpcClient(string queueOrOtherIdentify, IMessageQueueInfoFactory messageQueueInfoFactory)
        {
            ValidateUtil.ValidateNull(messageQueueInfoFactory, "消息队列信息工厂");
            ValidateConnection();

            IRpcClient rpcClient = new RabbitRpcClient(CreateChannel(), queueOrOtherIdentify, messageQueueInfoFactory, virtualPath: virtualPath);

            AddClosedEventHandler(rpcClient);

            return(rpcClient);
        }
        static void Main(string[] args)
        {
            var calculatorRpcClient = new RabbitRpcClient<ICalculator>("host=localhost;username=guest;password=guest;virtualHost=rabbitCommunicationTest", "rabbit.test");
            calculatorRpcClient.Connect();
            var calculatorModule = calculatorRpcClient.GetServerProxy();
            
            while (true)
            {
                Console.WriteLine("1) Add");
                Console.WriteLine("2) Subtract");
                Console.WriteLine("3) Multiply");
                Console.WriteLine("4) Divide");
                var readLine = Console.ReadLine();
                if (readLine == null) continue;
                var line = readLine.ToLower();

                if(line == "exit")
                    break;

                ParseLine(line, calculatorModule);
            }
            calculatorRpcClient.Close();
        }