//Client Streaming Average public static async Task CalculateAverage(Channel channel) { var client = new ComputeAverageService.ComputeAverageServiceClient(channel); var stream = client.ComputeAverage(); foreach (int i in Enumerable.Range(1, 4)) { var request = new ComputeAverageRequest() { Number = i }; await stream.RequestStream.WriteAsync(request); } await stream.RequestStream.CompleteAsync(); var response = await stream.ResponseAsync; Console.WriteLine(response.Result); }
static async Task CalcAverage(Channel channel) { WriteHeader("CalcAverage"); var avgClient = new CalculatorService.CalculatorServiceClient(channel); var avgStream = avgClient.ComputeAverage(); var rnd = new Random(); var avgList = new List <int>(); for (var i = 0; i < 10; i++) { var avgRequest = new ComputeAverageRequest { Value = rnd.Next(11, 55) }; avgList.Add(avgRequest.Value); await avgStream.RequestStream.WriteAsync(avgRequest); } await avgStream.RequestStream.CompleteAsync(); var avgResponse = await avgStream.ResponseAsync; Console.WriteLine($"{avgResponse.Result} is an average for {String.Join(", ", avgList)}"); }