Exemplo n.º 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!");
        }