コード例 #1
0
        public async Task <IActionResult> ScanSystem([FromQuery] string analysisName, [FromQuery] string ipAddress)
        {
            try
            {
                var scannerName = await _analysisRepository.GetScannerNameAsync(analysisName);

                var analysisScriptOptions = _configuration.GetSection("ScanScriptOptions").Get <ScriptOptions>();
                var script = new ScanScript(analysisScriptOptions, analysisName, ipAddress, scannerName);

                var output = await _scriptService.ExecuteAsync(script, new SignalRArgument <string> {
                    Id = ipAddress, Category = "ScanSystem"
                });

                await _analysisRepository.CreateScanLogAsync(analysisName, ipAddress, output);

                return(new OkResult());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"Scanning  in machine [{ipAddress}] failed");
            }

            return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
        }