public override async Task ListBoersen(BoerseRequest2 request, IServerStreamWriter <BoerseResponse> responseStream, ServerCallContext context) { var responses = boersen.FindAll((boerse) => boerse.Exists() && request.Minuten < getMinutesDifference(boerse.Time) && 0 < getMinutesDifference(boerse.Time)); foreach (var response in responses) { await responseStream.WriteAsync(response); } }
public async Task ListBoersen(int minuten) { Log("*** ListBoersen die in {0} minuten getaetigt werden koennen", minuten); if (minuten < 0) { throw new ArgumentOutOfRangeException("Minuten muessen >= 1 sein"); } try { BoerseRequest2 request = new BoerseRequest2 { Minuten = minuten }; using (var call = client.ListBoersen(request)) { var responseStream = call.ResponseStream; StringBuilder responseLog = new StringBuilder("Result: "); while (await responseStream.MoveNext()) { BoerseResponse boerse = responseStream.Current; responseLog.Append(boerse.ToString()); } Log(responseLog.ToString()); } } catch (RpcException e) { Log("RPC failed " + e); throw; } }