private static async Task ScanFolderTest(AntimalwareService.AntimalwareServiceClient client) { Console.WriteLine($"\nCalling 'ScanFolder'..."); var request = new ScanFolderRequest() { Path = @"C:\Temp\Data" }; var result = await client.ScanFolderAsync(request); Console.WriteLine($"Scanned by {result.AntivirusInfo}"); foreach (var infectedFile in result.InfectedFiles) { Console.WriteLine($"\tFile {infectedFile.FileName} is infected by {infectedFile.MalwareName}"); } }
static async Task Main(string[] args) { var httpClientHandler = new HttpClientHandler(); var clientCertificate = new X509Certificate2("Porcupine.Client.pfx", "Test"); httpClientHandler.ClientCertificates.Add(clientCertificate); httpClientHandler.ServerCertificateCustomValidationCallback = (message, certificate, chain, errors) => { return(certificate.Thumbprint == "F349F918CA0FA8D17C00866D5D0A0489ECEAF6A7"); }; var httpClient = new HttpClient(httpClientHandler); var server = "localhost"; if (args.Length == 1) { server = args[0]; } var url = $"https://{server}:5001"; try { Console.WriteLine($"Server {url}"); using var channel = GrpcChannel.ForAddress($"https://{server}:5001", new GrpcChannelOptions { HttpClient = httpClient }); var storageServiceClient = new StorageService.StorageServiceClient(channel); await CopyFileTest(storageServiceClient); await CopyFolderTest(storageServiceClient); var antimalwareServiceClient = new AntimalwareService.AntimalwareServiceClient(channel); await ScanFolderTest(antimalwareServiceClient); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }