Пример #1
0
        public void Configure(IApplicationBuilder app)
        {
            //Make sure that the grpc-server is run
            app.Run(async context =>
            {
                //We need this switch because we are connecting to an unsecure server. If the server runs on SSL, there's no need for this switch.
                AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);

                var channel = GrpcChannel.ForAddress("http://localhost:5500"); //check the values at /server project
                var client  = new Billboard.Board.BoardClient(channel);
                var request = new Billboard.MessageRequest();
                request.Capabilities.Add("fly", new Billboard.MessageRequest.Types.SuperPower {
                    Name = "Flying", Level = 1
                });
                request.Capabilities.Add("inv", new Billboard.MessageRequest.Types.SuperPower {
                    Name = "Invisibility", Level = 10
                });
                request.Capabilities.Add("spe", new Billboard.MessageRequest.Types.SuperPower {
                    Name = "Speed", Level = 5
                });

                var reply = await client.ShowMessageAsync(request);

                var displayDate = new DateTime(reply.ReceivedTime);
                await context.Response.WriteAsync($"We sent a message to a gRPC server and  received  the following reply \n'\n{reply.Message}' \non {displayDate} ");
            });
        }
Пример #2
0
        public void Configure(IApplicationBuilder app)
        {
            //Make sure that the grpc-server is run
            app.Run(async context =>
            {
                AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
                var httpClient         = new HttpClient();
                httpClient.BaseAddress = new Uri("http://localhost:5500"); //check the values at /server project
                var client             = GrpcClient.Create <Billboard.Board.BoardClient>(httpClient);
                var request            = new Billboard.MessageRequest();
                request.Capabilities.Add(new Billboard.MessageRequest.Types.SuperPower {
                    Name = "Flying", Level = 1
                });
                request.Capabilities.Add(new Billboard.MessageRequest.Types.SuperPower {
                    Name = "Invisibility", Level = 10
                });
                request.Capabilities.Add(new Billboard.MessageRequest.Types.SuperPower {
                    Name = "Speed", Level = 5
                });

                var reply = await client.ShowMessageAsync(request);

                var displayDate = new DateTime(reply.ReceivedTime);
                await context.Response.WriteAsync($"We sent a message to a gRPC server and  received  the following reply \n'\n{reply.Message}' \non {displayDate} ");
            });
        }
Пример #3
0
        public override Task <Billboard.MessageReply> ShowMessage(Billboard.MessageRequest request, ServerCallContext context)
        {
            var now = DateTime.UtcNow;

            return(Task.FromResult(new Billboard.MessageReply
            {
                DisplayTime = now.Ticks
            }));
        }
Пример #4
0
        public override Task <Billboard.MessageReply> ShowMessage(Billboard.MessageRequest request, ServerCallContext context)
        {
            var message = $"Your {request.Type} with the following content `{request.Message}` has arrived well.";
            var now     = DateTime.UtcNow;

            return(Task.FromResult(new Billboard.MessageReply
            {
                ReceivedTime = now.Ticks,
                Message = message
            }));
        }
Пример #5
0
        public override Task <Billboard.MessageReply> ShowMessage(Billboard.MessageRequest request, ServerCallContext context)
        {
            var message = new StringBuilder();

            foreach (var c in request.Capabilities)
            {
                message.AppendLine($"{c.Name} level {c.Level}");
            }

            var now = DateTime.UtcNow;

            return(Task.FromResult(new Billboard.MessageReply
            {
                ReceivedTime = now.Ticks,
                Message = message.ToString()
            }));
        }
Пример #6
0
        public override Task <Billboard.MessageReply> ShowMessage(Billboard.MessageRequest request, ServerCallContext context)
        {
            var message = new StringBuilder();

            message.AppendLine($"WageCase {request.WageCase}");
            message.AppendLine($"WageValue {request.WageValue}");
            message.AppendLine($"BonusCase {request.BonusCase}");
            if (request.BonusCase == Billboard.MessageRequest.BonusOneofCase.None)
            {
                message.AppendLine("BonusCase None means that BonusValue property is never set by the requester. So you can ignore whatever values you see at BonusValue property.");
            }
            message.AppendLine($"BonusValue {request.BonusValue}");

            var now = DateTime.UtcNow;

            return(Task.FromResult(new Billboard.MessageReply
            {
                ReceivedTime = now.Ticks,
                Message = message.ToString()
            }));
        }