Ejemplo n.º 1
0
        private static async Task LongGreetClientStream(Channel channel)
        {
            Console.WriteLine("Long greet client stream");
            var client = new GreetingService.GreetingServiceClient(channel);

            var greeting = new Greeting()
            {
                FirstName = "Stanislaw",
                LastName  = "Banski"
            };

            var longRequest = new LongGreetRequest()
            {
                Greeting = greeting
            };
            var stream = client.LongGreet();

            foreach (int i in Enumerable.Range(1, 10))
            {
                await stream.RequestStream.WriteAsync(longRequest);
            }

            await stream.RequestStream.CompleteAsync();

            var longResponse = await stream.ResponseAsync;

            Console.WriteLine(longResponse.Result);
        }
Ejemplo n.º 2
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();
        }
Ejemplo n.º 3
0
        private static async Task GreetServerStream(Channel channel)
        {
            Console.WriteLine("Greet stream");
            var client = new GreetingService.GreetingServiceClient(channel);

            var greeting = new Greeting()
            {
                FirstName = "Stanislaw",
                LastName  = "Banski"
            };

            var requestForStream = new GreetManyTimesRequest()
            {
                Greeting = greeting
            };

            var responseStream = client.GreetManyTimes(requestForStream);


            while (await responseStream.ResponseStream.MoveNext())
            {
                Console.WriteLine(responseStream.ResponseStream.Current.Result);
                await Task.Delay(200);
            }
            Console.WriteLine("");
        }
Ejemplo n.º 4
0
        public ClientEndpoint()
        {
            const string Host = "localhost";
            const int    Port = 50051;

            this.channel = new Channel($"{Host}:{Port}", ChannelCredentials.Insecure);
            Client       = new GreetingService.GreetingServiceClient(channel);
        }
Ejemplo n.º 5
0
        private static void Greet(GreetingService.GreetingServiceClient greetingClient)
        {
            var greeting = new Greeting()
            {
                FirstName = "Kevin Hayes",
                LastName  = "Anderson"
            };
            var greetRequest = new GreetingRequest()
            {
                Greeting = greeting
            };
            var greetResponse = greetingClient.Greet(greetRequest);

            Console.WriteLine(greetResponse.Result);
        }
Ejemplo n.º 6
0
        //const string target = "127.0.0.1:50052";

        static async Task Main(string[] args)
        {
            var clientCertificate = File.ReadAllText("ssl/client.crt");
            var clientKey         = File.ReadAllText("ssl/client.key");
            var caCertificate     = File.ReadAllText("ssl/ca.crt");

            var channelCredentials = new SslCredentials(caCertificate, new KeyCertificatePair(clientCertificate, clientKey));

            //Channel channel = new Channel(target, channelCredentials);
            Channel channel = new Channel("localhost", 50052, ChannelCredentials.Insecure);

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

            var dummyClient = new DummyService.DummyServiceClient(channel);

            var greetingClient = new GreetingService.GreetingServiceClient(channel);

            Greet(greetingClient);
            //await GreetMany(greetingClient);
            //await LongGreet(greetingClient);
            //await GreetEveryOne(greetingClient);
            //GreetWithDeadline(greetingClient);

            var calculatorClient = new CalculatorService.CalculatorServiceClient(channel);
            //Add(calculatorClient);
            //await PrimeNoDecomp(calculatorClient);
            //await ComputeAverage(calculatorClient);
            //await FindMaximum(calculatorClient);
            //Sqrt(calculatorClient);

            var blogClient = new BlogService.BlogServiceClient(channel);

            //var newBlog = CreateBlog(blogClient);
            //ReadBlog(blogClient);
            //UpdateBlog(blogClient, newBlog);
            //DeleteBlog(blogClient, newBlog);
            await ListBlog(blogClient);

            channel.ShutdownAsync().Wait();
            Console.ReadKey();
        }
Ejemplo n.º 7
0
        private static async Task GreetEveryOne(GreetingService.GreetingServiceClient greetingClient)
        {
            var greetEveryOneStream         = greetingClient.GreetEveryOne();
            var greetEveryOneResponseReader = Task.Run(async() =>
            {
                while (await greetEveryOneStream.ResponseStream.MoveNext())
                {
                    Console.WriteLine(greetEveryOneStream.ResponseStream.Current.Result);
                }
            });

            Greeting[] greetings =
            {
                new Greeting()
                {
                    FirstName = "Kevin Hayes", LastName = "Anderson"
                },
                new Greeting()
                {
                    FirstName = "John", LastName = "Doe"
                },
                new Greeting()
                {
                    FirstName = "Ford", LastName = "Henry"
                },
                new Greeting()
                {
                    FirstName = "Bob", LastName = "Miller"
                },
                new Greeting()
                {
                    FirstName = "Clive", LastName = "Gerald"
                },
            };
            foreach (var greeting in greetings)
            {
                await greetEveryOneStream.RequestStream.WriteAsync(new GreetEveryOneRequest()
                {
                    Greeting = greeting
                });
            }
            await greetEveryOneStream.RequestStream.CompleteAsync();

            await greetEveryOneResponseReader;
        }
Ejemplo n.º 8
0
        //Unary---Uncomment for Unary
        //static void Main(string[] args)
        //{
        //    Channel channel = new Channel(target, ChannelCredentials.Insecure);
        //    channel.ConnectAsync().ContinueWith((task)=>
        //    {
        //        if (task.Status == TaskStatus.RanToCompletion)
        //            Console.WriteLine("The Client connected successfully");
        //    });
        //    //;var client = new DummyService.DummyServiceClient(channel);
        //    var client = new GreetingService.GreetingServiceClient(channel);
        //    var greeting = new Greeting()
        //    {
        //        FirstName = "Yogi",
        //        LatsName = "Babu"
        //    };
        //    var request = new GreetingRequest() { Greeting = greeting };
        //    var response = client.Greet(request);
        //    Console.WriteLine(response.Result);

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

        //    //Server Stream
        //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 DummyService.DummyServiceClient(channel);
        //    var client = new GreetingService.GreetingServiceClient(channel);
        //    var greeting = new Greeting()
        //    {
        //        FirstName = "Yogi",
        //        LatsName = "Babu"
        //    };
        //    var request = new GreetingManyTimesRequest() { Greeting = greeting };
        //    var response = client.GreetingManyTimes(request);

        //    while(await response.ResponseStream.MoveNext())
        //    {
        //        Console.WriteLine(response.ResponseStream.Current.Result);
        //        await Task.Delay(200);
        //    }
        //    channel.ShutdownAsync().Wait();
        //    Console.ReadKey();
        //}

        ////Client Stream
        //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);
        //    var greeting = new Greeting()
        //    {
        //        FirstName = "Yogi",
        //        LatsName = "Babu"
        //    };
        //    var request = new LongGreetRequest() { Greeting = greeting };
        //    var stream = client.LongGreet();
        //    foreach (int i in Enumerable.Range(1, 10))
        //    {
        //        await stream.RequestStream.WriteAsync(request);
        //    }
        //    await stream.RequestStream.CompleteAsync();//request call complete then response

        //    var response = await stream.ResponseAsync;
        //    Console.WriteLine(response.Result);


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

        //Bi-Directional Streaming
        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);

            await DOGreetEveryone(client);


            channel.ShutdownAsync().Wait();
            Console.ReadKey();
        }
Ejemplo n.º 9
0
        private static async Task GreetMany(GreetingService.GreetingServiceClient greetingClient)
        {
            var greeting = new Greeting()
            {
                FirstName = "Kevin Hayes",
                LastName  = "Anderson"
            };
            var greetManyRequest = new GreetManyRequest()
            {
                Greeting = greeting
            };
            var greetmanyResponse = greetingClient.GreetMany(greetManyRequest);

            while (await greetmanyResponse.ResponseStream.MoveNext())
            {
                Console.WriteLine(greetmanyResponse.ResponseStream.Current.Result);
                await Task.Delay(200);
            }
        }
 public void WhenTheElvesSendAGreetingMessageWithIdXAndMessageY(string id, string message)
 {
     // Call the ESB web service and store the acknowledgment
     SendGreetingResponse = new GreetingService.GreetingServiceClient().SendGreeting(
         new Greeting
         {
             Id = id,
             Message = message
         });
 }