Example #1
0
        private static async Task CallBiDiStreamingAsync(GreetService.GreetServiceClient greetServiceClient)
        {
            var requests = GreetingGenerator <GreetEveryoneRequest> .GenerateRequests();

            var call = greetServiceClient.GreetEveryone();

            var responseReaderTask = Task.Run(async() =>
            {
                while (await call.ResponseStream.MoveNext())
                {
                    Console.WriteLine($"Reply: {call.ResponseStream.Current.Result}");
                }
            });

            foreach (var greetEveryoneRequest in requests)
            {
                await call.RequestStream.WriteAsync(greetEveryoneRequest);
            }

            await call.RequestStream.CompleteAsync();

            await responseReaderTask;

            Console.WriteLine("Done!");
        }
Example #2
0
        private static async Task CallClientStreamingAsync(GreetService.GreetServiceClient greetServiceClient)
        {
            var requests = GreetingGenerator <LongGreetRequest> .GenerateRequests();

            var asyncClientStreamingCall = greetServiceClient.LongGreet();

            foreach (var request in requests)
            {
                await asyncClientStreamingCall.RequestStream.WriteAsync(request);
            }

            await asyncClientStreamingCall.RequestStream.CompleteAsync();

            var response = await asyncClientStreamingCall.ResponseAsync;

            Console.WriteLine($"Response: {response.Result}");
            Console.WriteLine("Done!");
        }