Esempio n. 1
0
        public async static Task RunClient()
        {
            var proxy = new ClientProxyBuilder().UseServer("127.0.0.1:6201").BuildDefault();

            using (var client = proxy.GetClient <MathCommon.MathClient>())
            {
                Console.WriteLine("ready to send message");

                var random = new Random();

                AddReq req = new AddReq
                {
                    A = random.Next(1, 10000),
                    B = random.Next(1, 10000)
                };

                Console.WriteLine("call sever MathService.Add  --> {0}+{1} ", req.A, req.B);

                try
                {
                    var res = await client.AddAsync(req);

                    Console.WriteLine("server repsonse:<-----{0}+{1}={2}", req.A, req.B, res.Data.C);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("error occ {0}", ex.Message);
                }
            }
            Console.WriteLine("channel is closed!");
        }
Esempio n. 2
0
        private void Run()
        {
            //读取测试的文件
            var tcFilePath = Path.Combine(CommonUtils.GetAppRootPath(), "testcase", this._options.TestCase + ".txt");

            if (!File.Exists(tcFilePath))
            {
                Console.WriteLine(tcFilePath);
                Console.WriteLine("对应的测试文件不存在");
                System.Environment.Exit(1);
                return;
            }
            Dictionary <string, TestCase> tcCache = new Dictionary <string, TestCase>();

            using (StreamReader reader = File.OpenText(tcFilePath))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    line = line.Trim();
                    if (string.IsNullOrEmpty(line))
                    {
                        continue;
                    }
                    if (line.StartsWith("#"))
                    {
                        continue;
                    }

                    var tc = ParseFromLine(line);
                    tcCache.Add(tc.Id, tc);
                }
            }

            var proxy = new ClientProxyBuilder()
                        .UseServer(this._options.Server)
                        .ConfigureServices(services =>
            {
                services.ScanAddDescriptorFactory();
                services.AddMessageParser();
            })
                        .ConfigureLoggingServices(logger => logger.AddConsole())
                        .BuildDefault();


            //创建链接

            using (var caller = proxy.GetService <ICallInvoker <AmpMessage> >())
            {
                var parser = proxy.GetService <IMessageParser <AmpMessage> >();
                //开始跑测试了
                foreach (var kvtc in tcCache)
                {
                    RunTestCase(caller, kvtc.Value, parser);
                }
            }
        }
Esempio n. 3
0
        public async static Task RunClient()
        {
            var proxy = new ClientProxyBuilder().UseServer("127.0.0.1:6201")
                        .ConfigureServices(services =>
            {
                services.AddSingleton <IProtobufObjectFactory, ProtobufObjectFactory>();

                services.AddSingleton <IAuditLoggerFormat <AmpMessage>, AuditLoggerFormat>();
            })
                        .ConfigureLoggingServices(logger => logger.AddSerilog(dispose: true))
                        .BuildDefault();



            using (var client = proxy.GetClient <MathCommon.MathClient>())
            {
                Console.WriteLine("ready to send message");

                var random = new Random();
                var i      = 0;
                while (i < 10)
                {
                    AddReq req = new AddReq
                    {
                        A = random.Next(1, 10000),
                        B = random.Next(1, 10000)
                    };

                    Console.WriteLine("call sever MathService.Add  --> {0}+{1} ", req.A, req.B);

                    try
                    {
                        var res = await client.AddAsync(req);

                        Console.WriteLine("server repsonse:<-----{0}+{1}={2}", req.A, req.B, res.Data?.C);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("error occ {0}", ex.Message);
                    }

                    i++;
                }
            }
            Console.WriteLine("Press any key to quit!");
            Console.ReadKey();
        }