public async Task <IEnumerable <Student> > GetStudentListExtenstion([FromBody] IList <int> ids) //[9,10] { var client = new StudentProfile.StudentProfileClient(GrpcChannel.ForAddress("https://localhost:5001")); var responses = new List <Student>(); using (var stream = client.GetStudentList()) { await stream.RequestStream.WriteAllAsync(ids.Select(x => new StudentRequest() { Id = x })); responses = await stream.ResponseStream.ToListAsync(); } return(responses); }
public async Task <IEnumerable <Student> > GetMultiStudentListAsync([FromBody] IList <int> ids) //[9,10] { var client = new StudentProfile.StudentProfileClient(GrpcChannel.ForAddress("https://localhost:5001")); var responses = new List <Student>(); using (var stream = client.GetStudentList()) { foreach (var item in ids) { await stream.RequestStream.WriteAsync(new StudentRequest() { Id = item }); } await stream.RequestStream.CompleteAsync(); while (await stream.ResponseStream.MoveNext(new CancellationToken())) { responses.Add(stream.ResponseStream.Current); } } return(responses); }