示例#1
0
        public static void Testing(IGrpcClientProvider provider)
        {
            Task.Run(async() =>
            {
                var count = 10000;

                //拦截器测试
                //var client = await provider.FindGrpcClient<RpcTest.RpcTestClient>("sample");

                //var request = new HelloRequest() { Age = 28, Name = "simple" };
                //var result = await client.AddPollyExecuteAsync(request, async () => await client.SayHelloAsync(request));

                //var result = await client.SayHelloAsync(new HelloRequest() { Age = 28, Name = "simple" });

                //await client.SayHelloEventAsync(new HelloRequest() { Age = 28, Name = "simple" });

                //Stopwatch sw1 = new Stopwatch();
                //sw1.Start();
                //Console.WriteLine($"开始执行获取客户端{count}次测试");

                //for (int i = 0; i < count; i++)
                //{
                //    await provider.FindGrpcClient<RpcTest.RpcTestClient>("sample");
                //}


                //sw1.Stop();
                //TimeSpan ts1 = sw1.Elapsed;
                //Console.WriteLine("执行获取客户端总共花费{0}ms.", ts1.TotalMilliseconds);


                var client   = await provider.FindGrpcClient <RpcTest.RpcTestClient>("sample");
                Stopwatch sw = new Stopwatch();
                sw.Start();
                Console.WriteLine($"开始执行{count}次测试");
                for (int i = 0; i < count; i++)
                {
                    var result = await client.SayHelloAsync(new HelloRequest()
                    {
                        Age = 28, Name = "simple"
                    });
                    //Console.WriteLine($"{result.Msg}========{result.Code}==========={result.Result}");
                }
                sw.Stop();
                TimeSpan ts = sw.Elapsed;
                Console.WriteLine("执行总共花费{0}ms.", ts.TotalMilliseconds);

                ////todo 3

                //Stopwatch sw3 = new Stopwatch();
                //sw3.Start();
                //Console.WriteLine($"开始执行{count}次测试");

                //for (int i = 0; i < count; i++)
                //{
                //    var client = await provider.FindGrpcClient<RpcTest.RpcTestClient>("sample");
                //    var result = await client.SayHelloAsync(new HelloRequest() { Age = 28, Name = "simple" });
                //}


                //sw3.Stop();
                //TimeSpan ts3 = sw3.Elapsed;
                //Console.WriteLine("执行获取客户端跟消息通讯总共花费{0}ms.", ts3.TotalMilliseconds);

                Console.ReadKey();
            }).Wait();
        }
示例#2
0
 public ServicesController(IGrpcClientProvider clientProvider, IGatewayProvider gatewayProvider, IServiceRouteProvider routeProvider)
 {
     this._clientProvider = clientProvider;
     _gatewayProvider     = gatewayProvider;
     _routeProvider       = routeProvider;
 }
 public ServicesController(IGrpcClientProvider clientProvider)
 {
     this._clientProvider = clientProvider;
 }