Beispiel #1
0
        static async Task Main(string[] args)
        {
            Channel channel = new Channel(target, ChannelCredentials.Insecure);
            await channel.ConnectAsync().ContinueWith((task) =>
            {
                if (task.Status == TaskStatus.RanToCompletion)
                {
                    Console.WriteLine("The Client Connected Successfully");
                }
            });

            var client = new GreetingService.GreetingServiceClient(channel);

            try
            {
                var response = client.greet_with_deadline(
                    new GreetingRequest()
                {
                    Name = "ProgramSkan"
                },
                    //deadline: DateTime.UtcNow.AddMilliseconds(500)//no error since server takes 300ms to finish task
                    deadline: DateTime.UtcNow.AddMilliseconds(100)                    //error because server takes 300ms to finish task
                    );
                Console.WriteLine(response.Result);
            }
            catch (RpcException e) when(e.StatusCode == StatusCode.DeadlineExceeded)
            {
                Console.WriteLine("Error : " + e.Status.Detail);
            }

            channel.ShutdownAsync().Wait();
            Console.ReadKey();
        }
Beispiel #2
0
        static async Task Main(string[] args)
        {
            var     clientcert         = File.ReadAllText("ssl/client.crt");
            var     clientkey          = File.ReadAllText("ssl/client.key");
            var     cacert             = File.ReadAllText("ssl/ca.crt");
            var     channelCredentials = new SslCredentials(cacert, new KeyCertificatePair(clientcert, clientkey));
            Channel channel            = new Channel("localhost", 50051, channelCredentials);

            await channel.ConnectAsync().ContinueWith((task) =>
            {
                if (task.Status == TaskStatus.RanToCompletion)
                {
                    Console.WriteLine("The client connected successfully");
                }
            });

            var client = new GreetingService.GreetingServiceClient(channel);

            try
            {
                var response = client.greet_with_deadline(new GreetingRequest()
                {
                    Name = "John"
                },
                                                          deadline: DateTime.UtcNow.AddSeconds(1));

                Console.WriteLine(response.Result);
            }
            catch (RpcException e) when(e.StatusCode == StatusCode.DeadlineExceeded)
            {
                Console.WriteLine("Error : " + e.Status.Detail);
            }

            channel.ShutdownAsync().Wait();
            Console.ReadKey();
        }