private async Task CallGrpcService() { var client = new GrpcServiceProvider().GetGreeterClient(); var reply = await client.SayHelloAsync( new HelloRequest { Name = "WPF client" }); this.HelloMessage.Text = reply.Message; }
public override void BeforeConfigureServices(CafConfigurationContext context) { if (context.Services.GetSingletonInstanceOrNull <IGrpcServerConfiguration>() == null) { var grpcServerConfiguration = new GrpcServerConfiguration(); var grpcClientConfiguration = new GrpcClientConfiguration(); var grpcServiceProvider = new GrpcServiceProvider(grpcServerConfiguration, grpcClientConfiguration); context.Services.AddSingleton <IGrpcServerConfiguration>(grpcServerConfiguration); context.Services.AddSingleton(typeof(IGrpcClientConfiguration), grpcClientConfiguration); context.Services.AddSingleton(typeof(IGrpcServiceProvider), grpcServiceProvider); context.Services.AddSingleton(typeof(IGrpcServiceGenerator), new GrpcServiceGenerator(grpcServiceProvider)); } }
public async Task <Question> RequestCurrentQuestion(int questionNumber) { var client = new GrpcServiceProvider().GetQuizClient(); var reply = await client.GetQuestionAsync( new QuizProto.GetQuestionRequest { QuestionNumber = questionNumber }); var question = reply.Question; var answers = reply.PossibleAnswers; var receivedQuestion = new Question(question.Id, question.Content, answers.Select(protoAnswer => Answer.ConvertProtoAnswer(protoAnswer)).ToList()); return(receivedQuestion); }