コード例 #1
0
        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);
            }
        }
コード例 #2
0
            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;
                }
            }