Beispiel #1
0
        public async Task <ActionResult> Execute(string code)
        {
            if (HttpContext.User.Identity.IsAuthenticated)
            {
                var result = await _executeService.Execute(code, HttpContext.User.Identity.Name);

                return(Json(new { condition = result.Item1.ToString(), output = result.Item2 }));
            }

            var cookie = Request.Cookies[cookieName];

            if (cookie != null)
            {
                byte[] data   = Convert.FromBase64String(cookie["id"]);
                int    id     = _encryptService.Decrypt(data);
                var    result = await _executeService.Execute(code, id);

                return(Json(new { condition = result.Item1.ToString(), output = result.Item2 }));
            }
            else
            {
                int    id             = _executeService.GetNewId();
                byte[] data           = _encryptService.Encrypt(id);
                var    responceCookie = new HttpCookie(cookieName)
                {
                    Expires = DateTime.Now.AddMinutes(cookieMinutes)
                };
                responceCookie.Values.Add("id", Convert.ToBase64String(data));
                Response.Cookies.Add(responceCookie);

                var result = await _executeService.Execute(code, id);

                return(Json(new { condition = result.Item1.ToString(), output = result.Item2 }));
            }
        }
        /// <summary>
        /// 手动执行任务
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public IActionResult ExecuteScheduleTask(int id)
        {
            if (!_permissionService.Authorize("ExecuteScheduleTask"))
            {
                return(Error("无操作权限!"));
            }
            var scheduleTask = _scheduleTaskService.GetScheduleById(id);

            try
            {
                //BackgroundJob.Enqueue<ExecuteService>(a => a.Execute(scheduleTask.Functions, scheduleTask.Type));
                _executeService.Execute(scheduleTask.Functions, scheduleTask.Type);
                return(Success());
            }
            catch (Exception)
            {
                return(Error("执行失败"));
            }
        }
Beispiel #3
0
 public Task <MetricStatus> Execute(ExecuteCommand executeCommand)
 => _executeService.Execute(executeCommand);