Exemplo n.º 1
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("gRPC Greet Client - Asychronous");
            Console.WriteLine("Enter number of checks:");
            int NumberOfChecks = Int32.Parse(Console.ReadLine());

            using var channel = GrpcChannel.ForAddress("https://localhost:5001");
            var client = new Checker.CheckerClient(channel);

            List <EndpointItem> EndpointItemList = Utils.CreateEndpointList(NumberOfChecks);

            Console.WriteLine(EndpointItemList.Count.ToString() + " items to process");

            var _stopwatch = new Stopwatch();

            _stopwatch.Start();

            foreach (var item in EndpointItemList)
            {
                await ProcessItemTaskAsync(item, client);
            }
            _stopwatch.Stop();
            Console.WriteLine("Finshed " + NumberOfChecks + " records in " + _stopwatch.Elapsed + " seconds");

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
Exemplo n.º 2
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("gRPC Greet Client - SSL");
            Console.WriteLine("Enter number of checks:");
            var numberOfChecks = Int32.Parse(Console.ReadLine());

            //var cert = X509Certificate.CreateFromCertFile("C:\\certs\\GreeterCert.crt");
            X509Certificate cert = X509Certificate.CreateFromSignedFile("C:\\certs\\GreeterCert.crt");

            var handler = new HttpClientHandler();

            handler.ClientCertificates.Add(cert);
            var httpClient = new HttpClient(handler);

            using var channel = GrpcChannel.ForAddress("https://localhost:50051", new GrpcChannelOptions
            {
                HttpClient = httpClient
            })
            ;
            var endpointClient = new Checker.CheckerClient(channel);

            var stopwatch = new Stopwatch();
            List <EndpointItem> endpointItemList = Utils.CreateEndpointList(numberOfChecks);

            Console.WriteLine(endpointItemList.Count.ToString() + " items to process");

            stopwatch.Start();

            foreach (var item in endpointItemList)
            {
                var request = new EndpointCheckRequest()
                {
                    Content = JsonSerializer.Serialize(item)
                };
                var check = new EndpointItemCheck();
                try
                {
                    var reply = await endpointClient.CheckEndpointAsync(request);

                    check = JsonSerializer.Deserialize <EndpointItemCheck>(reply.Content);
                }
                catch (Exception e)
                {
                    check = new EndpointItemCheck()
                    {
                        Endpoint = item,
                        Message  = e.Message
                    };
                }
                Console.WriteLine(check.Endpoint.Name + " - " + check.Result + " " + check.Message);
            }

            stopwatch.Stop();
            Console.WriteLine("Finshed " + numberOfChecks + " records in " + stopwatch.Elapsed + " seconds");

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
Exemplo n.º 3
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("gRPC Greet Client - Sync");
            Console.WriteLine("Enter number of checks:");
            var numberOfChecks = Int32.Parse(Console.ReadLine());

            using var channel = GrpcChannel.ForAddress("https://localhost:5000");
            var endpointClient = new Checker.CheckerClient(channel);

            //if (HasPulse(endpointClient).Result)
            //{
            var stopwatch = new Stopwatch();
            List <EndpointItem> EndpointItemList = Utils.CreateEndpointList(numberOfChecks);

            Console.WriteLine(EndpointItemList.Count.ToString() + " items to process");

            stopwatch.Start();

            foreach (var item in EndpointItemList)
            {
                var request = new EndpointCheckRequest()
                {
                    Content = JsonSerializer.Serialize(item)
                };
                var check = new EndpointItemCheck();
                try
                {
                    var reply = await endpointClient.CheckEndpointAsync(request);

                    check = JsonSerializer.Deserialize <EndpointItemCheck>(reply.Content);
                }
                catch (Exception e)
                {
                    check = new EndpointItemCheck()
                    {
                        Endpoint = item,
                        Message  = e.Message
                    };
                }
                Console.WriteLine(check.Endpoint.Name + " - " + check.Result + " " + check.Message);
            }

            stopwatch.Stop();
            Console.WriteLine("Finshed " + numberOfChecks + " records in " + stopwatch.Elapsed + " seconds");

            //}
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
Exemplo n.º 4
0
        public static async Task <EndpointItemCheck> ProcessItemTaskAsync(EndpointItem item, Checker.CheckerClient client)
        {
            EndpointItemCheck check;
            var _request = new EndpointCheckRequest()
            {
                Content = JsonSerializer.Serialize(item)
            };

            try
            {
                var _reply = await client.CheckEndpointAsync(_request);

                check = JsonSerializer.Deserialize <EndpointItemCheck>(_reply.Content);
            }
            catch (Exception e)
            {
                check = new EndpointItemCheck()
                {
                    Endpoint = item,
                    Message  = e.Message
                };
            }

            return(check);
        }