示例#1
0
        static void Main(string[] args)
        {
            string browserComparisonEnabled = ConfigurationManager.AppSettings["browserComparisonEnabled"];
            string browserNameComparison    = ConfigurationManager.AppSettings["browserNameComparison"];
            string propertiesFileName       = ConfigurationManager.AppSettings["propertiesFileName"];

            // Get current directory
            //string currentDirectory = Directory.GetCurrentDirectory();
            string currentDirectory = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);

            // Read properties from file
            string            propertiiesFilePath = Path.Combine(currentDirectory, propertiesFileName);
            ProcessProperties processProperties   = FileManager.ReadPropertiesFromFile(propertiiesFilePath);

            // Get process information back and validate it
            Process browserProcess = Process.GetProcessById(processProperties.processId);

            if (browserComparisonEnabled.Equals("true"))
            {
                // Validate by checking if the process name is the same as the one found earlier
                if (browserNameComparison.Equals(processProperties.processName))
                {
                    browserProcess.Kill(true);
                    Console.WriteLine("Killed process: " + processProperties.processName);
                }
            }
            else
            {
                browserProcess.Kill(true);
                Console.WriteLine("Killed process: " + processProperties.processName);
            }
        }
示例#2
0
        public IEnumerable <CustomProcess> GetResponseProcesses(ProcessProperties property, bool desc)
        {
            var processes = GetCustomProcesses();
            Func <CustomProcess, dynamic> func = p => ReturnPropertyValue(p, property);

            return(desc ? processes.OrderByDescending(func) : processes.OrderBy(func));
        }
示例#3
0
        Get([FromQuery] ProcessProperties property, [FromQuery] bool desc)
        {
            var response = await
                           Task.Run(() => _processes.GetResponseProcesses(property, desc));

            return(Ok(response));
        }
示例#4
0
        private static ProcessProperties ConfigureProcessProperties(Action <RunProgramConfigurator> programBuilderAction)
        {
            var processProperties = new ProcessProperties();
            var programBuilder    = new RunProgramConfigurator(processProperties);

            programBuilderAction(programBuilder);

            return(processProperties);
        }
示例#5
0
        public void Run(MsBuildProperties msBuildProperties)
        {
            var processProperties = new ProcessProperties()
            {
                Executable = "MSBuild.exe",
                Arguments  = BuildArguments(msBuildProperties)
            };

            _processRunner.RunProcess(processProperties);
        }
示例#6
0
 private static dynamic ReturnPropertyValue(CustomProcess process, ProcessProperties property)
 {
     return(property switch
     {
         ProcessProperties.Name => process.Name,
         ProcessProperties.Id => process.Id,
         ProcessProperties.IsResponding => process.IsResponding,
         ProcessProperties.Cpu => process.Cpu,
         ProcessProperties.Gpu => process.Gpu,
         ProcessProperties.Username => process.Username,
         ProcessProperties.StartTime => process.StartTime,
         ProcessProperties.PathToFile => process.PathToFile,
         ProcessProperties.ThreadsCount => process.ThreadsCount,
         _ => process.Name
     });
示例#7
0
        static void Main(string[] args)
        {
            // Extract constants from app.config
            string targetUrl          = ConfigurationManager.AppSettings["targetUrl"];
            string browserLocation    = ConfigurationManager.AppSettings["browserLocation"];
            string propertiesFileName = ConfigurationManager.AppSettings["propertiesFileName"];

            // Get path to chromium
            //string currentDirectory = Directory.GetCurrentDirectory();
            string currentDirectory = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);


            string chromiumDirectory = Path.Combine(currentDirectory, browserLocation);

            // Create file information
            string propertiiesFilePath = Path.Combine(currentDirectory, propertiesFileName);

            Console.WriteLine("targetUrl :" + targetUrl);
            Console.WriteLine("browserLocation :" + browserLocation);
            Console.WriteLine("propertiesFileName :" + propertiesFileName);
            Console.WriteLine("currentDirectory :" + currentDirectory);
            Console.WriteLine("chromiumDirectory: " + chromiumDirectory);
            Console.WriteLine("propertiiesFilePath: " + propertiiesFilePath);

            FileManager.CreateFile(propertiiesFilePath);

            // Launch target url
            Console.WriteLine("Launching myDahlia's stream");
            Process process = OpenUrl(chromiumDirectory, targetUrl);

            // Store process information
            ProcessProperties propertiesToStore = new ProcessProperties
            {
                processId   = process.Id,
                processName = process.ProcessName
            };

            FileManager.WritePropertiesIntoFile(propertiesToStore, propertiiesFilePath);
        }
示例#8
0
 public RunProgramConfigurator(ProcessProperties properties)
 {
     _properties = properties;
 }
示例#9
0
        static void Main(string[] args)
        {
            // Extract constants from app.config
            string targetUrl                = ConfigurationManager.AppSettings["targetUrl"];
            string browserLocation          = ConfigurationManager.AppSettings["browserLocation"];
            string browserComparisonEnabled = ConfigurationManager.AppSettings["browserComparisonEnabled"];
            string browserNameComparison    = ConfigurationManager.AppSettings["browserNameComparison"];
            string propertiesFileName       = ConfigurationManager.AppSettings["propertiesFileName"];

            // Get path to chromium
            string currentDirectory  = Directory.GetCurrentDirectory();
            string chromiumDirectory = Path.Combine(currentDirectory, browserLocation);

            // Create file information
            string propertiiesFilePath = Path.Combine(currentDirectory, propertiesFileName);

            FileManager.CreateFile(propertiiesFilePath);

            // Launch target url
            Console.WriteLine("Launching myDahlia's stream");
            Process process = OpenUrl(chromiumDirectory, targetUrl);

            // Store process information
            ProcessProperties propertiesToStore = new ProcessProperties {
                processId   = process.Id,
                processName = process.ProcessName
            };

            FileManager.WritePropertiesIntoFile(propertiesToStore, propertiiesFilePath);

            while (true)
            {
                ConsoleKeyInfo result = Console.ReadKey(true);
                if (result.Key == ConsoleKey.Escape)
                {
                    break;
                }
                {
                    // Read properties from file
                    // Create file information
                    string            propertiiesFilePath2 = Path.Combine(currentDirectory, propertiesFileName);
                    ProcessProperties processProperties    = FileManager.ReadPropertiesFromFile(propertiiesFilePath2);

                    // Get process information back and validate it
                    Process browserProcess = Process.GetProcessById(processProperties.processId);
                    if (browserComparisonEnabled.Equals("true"))
                    {
                        // Validate by checking if the process name is the same as the one found earlier
                        if (browserNameComparison.Equals(processProperties.processName))
                        {
                            browserProcess.Kill(true);
                            Console.WriteLine("Killed process: " + processProperties.processName);
                        }
                    }
                    else
                    {
                        browserProcess.Kill(true);
                        Console.WriteLine("Killed process: " + processProperties.processName);
                    }
                }
            }
        }
示例#10
0
        static public void WritePropertiesIntoFile(ProcessProperties properties, string path)
        {
            string content = JsonConvert.SerializeObject(properties);

            File.AppendAllText(path, content);
        }
示例#11
0
        private static void RunProcess(ProcessProperties processProperties)
        {
            var processRunner = new ProcessRunner();

            processRunner.RunProcess(processProperties);
        }