public static async Task MakeServerStreamingCall(HockeyStandings.HockeyStandings.HockeyStandingsClient client) { using var call = client.GetAllTeamRecords(new GetAllTeamRecordsRequest()); await foreach (var record in call.ResponseStream.ReadAllAsync()) { PrintRecord(record); } }
static async Task Main(string[] args) { var channel = GrpcChannel.ForAddress("https://localhost:5001").Intercept(new TracingInterceptor()); var client = new HockeyStandings.HockeyStandings.HockeyStandingsClient(channel); while (true) { switch (GetMenuChoice()) { case '1': await Samples.MakeUnaryCalls(client); break; case '2': await Samples.MakeServerStreamingCall(client); break; case '3': await Samples.MakeBidirectionalStreamingCall(client); break; case '4': await Samples.MakeStreamingCallWithCancellation(client); break; case '5': await Samples.MakeSingleHealthCheck(channel); break; case '6': await Samples.WatchHealthChecks(channel); break; case '7': await Samples.MakeServerReflectionCall(channel); break; case 'q': case 'Q': return; default: Console.WriteLine("Invalid choice, please try again."); break; } } }
public static Task MakeUnaryCalls(HockeyStandings.HockeyStandings.HockeyStandingsClient client) => Task.Run(async() => { Console.WriteLine("Enter team names to look up their records, empty string will exit..."); string query; while ((query = Console.ReadLine()) != "") { var request = new GetTeamRecordRequest { Query = query }; var record = await client.GetTeamRecordAsync(request); PrintRecord(record); } });
public static Task MakeBidirectionalStreamingCall(HockeyStandings.HockeyStandings.HockeyStandingsClient client) => Task.Run(async() =>