示例#1
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;
        }