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} "); }); }
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} "); }); }
public override Task <Billboard.MessageReply> ShowMessage(Billboard.MessageRequest request, ServerCallContext context) { var now = DateTime.UtcNow; return(Task.FromResult(new Billboard.MessageReply { DisplayTime = now.Ticks })); }
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 })); }
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() })); }
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() })); }