ValueTask <MultiplyResult> ICalculator.MultiplyAsync(MultiplyRequest request) { var result = new MultiplyResult { Result = request.X * request.Y }; return(new ValueTask <MultiplyResult>(result)); }
Task <MultiplyResult> ICalculator.MultiplyAsync(MultiplyRequest request) { var result = new MultiplyResult { Result = request.X * request.Y }; return(Task.FromResult(result)); }
protected async Task Multiply() { GrpcClientFactory.AllowUnencryptedHttp2 = true; using (var channel = GrpcChannel.ForAddress("http://localhost:10042")) { var calculator = channel.CreateGrpcService <ICalculator>(); this.Result = await calculator.MultiplyAsync(new MultiplyRequest { X = 12, Y = 4 }); Console.WriteLine(this.Result); } }
protected async Task TestGrpc() { var httpClient = new HttpClient(new GrpcWebHandler(GrpcWebMode.GrpcWeb, new HttpClientHandler())); using (var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions { HttpClient = httpClient })) { var client = channel.CreateGrpcService <ICalculatorService>(); _result = await client.MultiplyAsync(new MultiplyRequest { X = 12, Y = 4 }); Console.WriteLine(_result); } }
private async IAsyncEnumerable <MultiplyResult> ProduceAsyncImpl([EnumeratorCancellation] CancellationToken cancellationToken) { for (int i = 0; i < 4; i++) { await Task.Delay(TimeSpan.FromSeconds(2.5)); var result = new MultiplyResult { Result = i }; yield return(result); Console.WriteLine($"[sent] {result.Result}"); } Console.WriteLine("[server all done sending!]"); }