public override Task <AIR.CommonRes> RunTest1(AIR.CommonReq req1, ServerCallContext context) { var response = new AIR.CommonRes() { Resone = "RUNTEST1" + req1.Fieldone, Restwo = req1.Fieldtwo.ToString() }; return(Task.FromResult(response)); }
public override Task <AIR.CommonRes> RunTest2(AIR.CommonReq req1, ServerCallContext context) { AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); var httpHandler1 = new HttpClientHandler(); // Return `true` to allow certificates that are untrusted/invalid httpHandler1.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator; var httpClient1 = new HttpClient(httpHandler1); var sw = Stopwatch.StartNew(); var endpoint1 = $"http://kong:9080"; //var channel1 = GrpcChannel.ForAddress(endpoint1, new GrpcChannelOptions { HttpClient = httpClient1, Credentials = ChannelCredentials.Insecure }); var channel1 = GrpcChannel.ForAddress(endpoint1, new GrpcChannelOptions { HttpClient = httpClient1, Credentials = Grpc.Core.ChannelCredentials.Insecure }); var client1 = new LossClient(channel1); var response = client1.RunLoss(new GrpcServices.LossRequest() { Package = "Pkg" + req1.Fieldone }); sw.Stop(); Console.WriteLine($"Total time: through kong: {sw.ElapsedMilliseconds}"); sw = Stopwatch.StartNew(); endpoint1 = $"http://loss:80"; //var channel1 = GrpcChannel.ForAddress(endpoint1, new GrpcChannelOptions { HttpClient = httpClient1, Credentials = ChannelCredentials.Insecure }); channel1 = GrpcChannel.ForAddress(endpoint1, new GrpcChannelOptions { HttpClient = httpClient1, Credentials = Grpc.Core.ChannelCredentials.Insecure }); client1 = new LossClient(channel1); response = client1.RunLoss(new GrpcServices.LossRequest() { Package = "Pkg" + req1.Fieldone }); sw.Stop(); Console.WriteLine($"Total time: through service directly: {sw.ElapsedMilliseconds}"); return(Task.FromResult(new AIR.CommonRes() { Resone = response.Package })); }
private static bool TestGrpcCommon() { var rv = false; AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); var httpHandler1 = new HttpClientHandler(); var httpHandler2 = new HttpClientHandler(); // Return `true` to allow certificates that are untrusted/invalid httpHandler1.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator; // Return `true` to allow certificates that are untrusted/invalid httpHandler2.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator; var httpClient1 = new HttpClient(httpHandler1); var httpClient2 = new HttpClient(httpHandler2); var request = new AIR.CommonReq { Fieldone = "hello", Fieldtwo = 21 }; var request2 = new AIR.CommonReq { Fieldone = "hello", Fieldtwo = 21 }; var endpoint1 = $"http://localhost:{5005}"; var endpoint2 = $"http://localhost:{5006}"; var channel1 = GrpcChannel.ForAddress(endpoint1, new GrpcChannelOptions { HttpClient = httpClient1, Credentials = Grpc.Core.ChannelCredentials.Insecure }); var channel2 = GrpcChannel.ForAddress(endpoint2, new GrpcChannelOptions { HttpClient = httpClient2, Credentials = Grpc.Core.ChannelCredentials.Insecure }); var client1 = new CommonTest1.Test1.Test1Client(channel1); var client2 = new CommonTest2.Test2.Test2Client(channel2); var stopwatch = new Stopwatch(); stopwatch.Start(); try { var result1 = client1.RunTest1(request); var result2 = client2.RunTest2(request2); if (result1.Equals(result2)) { Console.WriteLine($"Success! {result1}"); rv = true; } result1 = client1.RunTest1(request); result2 = client2.RunTest2(new AIR.CommonReq { Fieldone = "goodbye", Fieldtwo = 0 }); if (!result1.Equals(result2)) { Console.WriteLine($"Success! {result1}"); rv = true; } } catch (Exception e) { Console.WriteLine("Failure" + e.Message); } stopwatch.Stop(); Console.WriteLine($"{stopwatch.ElapsedMilliseconds}"); return(rv); }