public static async Task <EndpointItemCheck> ProcessItemTaskAsync(EndpointItem item, Checker.CheckerClient client) { EndpointItemCheck check; var _request = new EndpointCheckRequest() { Content = JsonSerializer.Serialize(item) }; try { var _reply = await client.CheckEndpointAsync(_request); check = JsonSerializer.Deserialize <EndpointItemCheck>(_reply.Content); } catch (Exception e) { check = new EndpointItemCheck() { Endpoint = item, Message = e.Message }; } return(check); }
public override Task <EndpointCheckReply> CheckEndpoint(EndpointCheckRequest p_request, ServerCallContext p_context) { List <string> platformList = new List <string>() { "windows", "linux" }; var item = JsonSerializer.Deserialize <EndpointItem>(p_request.Content); var itemCheck = new EndpointItemCheck() { Endpoint = item }; if (!platformList.Contains(item.Platform.ToLower())) { itemCheck.Message += "Platform is not windows or linux"; } var reply = new EndpointCheckReply { Content = JsonSerializer.Serialize(itemCheck) }; _logger.LogInformation(JsonSerializer.Serialize(reply)); return(Task.FromResult(reply)); }
static async Task Main(string[] args) { Console.WriteLine("gRPC Greet Client - SSL"); Console.WriteLine("Enter number of checks:"); var numberOfChecks = Int32.Parse(Console.ReadLine()); //var cert = X509Certificate.CreateFromCertFile("C:\\certs\\GreeterCert.crt"); X509Certificate cert = X509Certificate.CreateFromSignedFile("C:\\certs\\GreeterCert.crt"); var handler = new HttpClientHandler(); handler.ClientCertificates.Add(cert); var httpClient = new HttpClient(handler); using var channel = GrpcChannel.ForAddress("https://localhost:50051", new GrpcChannelOptions { HttpClient = httpClient }) ; var endpointClient = new Checker.CheckerClient(channel); var stopwatch = new Stopwatch(); List <EndpointItem> endpointItemList = Utils.CreateEndpointList(numberOfChecks); Console.WriteLine(endpointItemList.Count.ToString() + " items to process"); stopwatch.Start(); foreach (var item in endpointItemList) { var request = new EndpointCheckRequest() { Content = JsonSerializer.Serialize(item) }; var check = new EndpointItemCheck(); try { var reply = await endpointClient.CheckEndpointAsync(request); check = JsonSerializer.Deserialize <EndpointItemCheck>(reply.Content); } catch (Exception e) { check = new EndpointItemCheck() { Endpoint = item, Message = e.Message }; } Console.WriteLine(check.Endpoint.Name + " - " + check.Result + " " + check.Message); } stopwatch.Stop(); Console.WriteLine("Finshed " + numberOfChecks + " records in " + stopwatch.Elapsed + " seconds"); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }
static async Task Main(string[] args) { Console.WriteLine("gRPC Greet Client - Sync"); Console.WriteLine("Enter number of checks:"); var numberOfChecks = Int32.Parse(Console.ReadLine()); using var channel = GrpcChannel.ForAddress("https://localhost:5000"); var endpointClient = new Checker.CheckerClient(channel); //if (HasPulse(endpointClient).Result) //{ var stopwatch = new Stopwatch(); List <EndpointItem> EndpointItemList = Utils.CreateEndpointList(numberOfChecks); Console.WriteLine(EndpointItemList.Count.ToString() + " items to process"); stopwatch.Start(); foreach (var item in EndpointItemList) { var request = new EndpointCheckRequest() { Content = JsonSerializer.Serialize(item) }; var check = new EndpointItemCheck(); try { var reply = await endpointClient.CheckEndpointAsync(request); check = JsonSerializer.Deserialize <EndpointItemCheck>(reply.Content); } catch (Exception e) { check = new EndpointItemCheck() { Endpoint = item, Message = e.Message }; } Console.WriteLine(check.Endpoint.Name + " - " + check.Result + " " + check.Message); } stopwatch.Stop(); Console.WriteLine("Finshed " + numberOfChecks + " records in " + stopwatch.Elapsed + " seconds"); //} Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }