示例#1
0
        private int CommandProcess(CommandTypes commandType, AppOptions options)
        {
            int result = 0;

            ProcessModel model = new ProcessModel
            {
                ProcessId   = options.ProcessId,
                PathExe     = options.PathExe,
                ProcessName = options.ProcessName,
                Arguments   = options.Arguments
            };

            CmdProcessRequest request = new CmdProcessRequest(1, commandType, model);

            if (!client.SendCommand(request))
            {
                result = 1;
            }
            else
            {
                waitAnswer.WaitOne();
            }

            return(result);
        }
        public CmdProcessResponse StartProcess(CmdProcessRequest request)
        {
            CmdProcessResponse response = null;

            try
            {
                ProcessController controller = new ProcessController(request.Model);
                if (!controller.StartProcess())
                {
                    throw new InvalidOperationException($"Не удалось запустить процесс {request.Model.PathExe}");
                }

                response = new CmdProcessResponse(request.Id, PM.Connection.CommandTypes.RestartProcesseResponse, true);
            }
            catch
            {
                response = new CmdProcessResponse(request.Id, PM.Connection.CommandTypes.RestartProcesseResponse, false);
            }
            return(response);
        }