コード例 #1
0
        /// <summary>
        ///     Demonstrates a gRPC call that makes a request for a singular item
        /// </summary>
        /// <returns>Void Task</returns>
        private async static Task DemonstrateSingleRequest()
        {
            Console.WriteLine("Press enter to make gRPC Request.");
            Console.ReadLine();

            var channel = GrpcChannel.ForAddress(GRPC_ADDRESS);
            var client  = new Persons.PersonsClient(channel);

            var personRequest = new PersonRequest()
            {
                UserId = 1
            };
            var reply = await client.GetPersonAsync(personRequest);

            Console.WriteLine($"Firstname:{reply.FirstName} LastName:{reply.LastName} Verified:{reply.IsVerified}");

            Console.ReadLine();
        }
コード例 #2
0
        /// <summary>
        ///     Demonstrates a gRPC call that streams in multiple responses.
        /// </summary>
        /// <returns>Void Task</returns>
        private async static Task DemonstrateStreaming()
        {
            Console.WriteLine("Press enter to make gRPC Request.");
            Console.ReadLine();

            var channel = GrpcChannel.ForAddress(GRPC_ADDRESS);
            var client  = new Persons.PersonsClient(channel);

            using (var clientRequest = client.GetPersons(new PersonsRequest()))
            {
                CancellationTokenSource source = new CancellationTokenSource();
                while (await clientRequest.ResponseStream.MoveNext(source.Token))
                {
                    var person = clientRequest.ResponseStream.Current;
                    Console.WriteLine($"Firstname: {person.FirstName} Lastname: {person.LastName} Verified: {person.IsVerified}");
                }
            }

            Console.ReadLine();
        }