public override Task <ScanFolderResponse> ScanFolder(ScanFolderRequest request, ServerCallContext context) { _logger.LogDebug($"Scanning folder {request.Path}..."); return(Task.Run(() => { var response = new ScanFolderResponse() { AntivirusInfo = "The Incredible Antivirus v0.9 alpha" }; var directory = new DirectoryInfo(request.Path); var files = directory.GetFiles(); foreach (var file in files) { response.InfectedFiles.Add(new InfectedFile { FileName = file.Name, MalwareName = "LockerYoga" }); } _logger.LogDebug($"Scan result: {response}"); return response; })); }
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}"); } }