Example #1
0
        /// <summary>
        /// 添加程序集环境检测任务
        /// </summary>
        /// <param name="task"></param>
        /// <returns></returns>
        internal int Add(CheckTask task)
        {
            int taskId = Interlocked.Increment(ref CheckServer.taskId);

            tasks.Add(taskId, task);
            return(taskId);
        }
Example #2
0
        /// <summary>
        /// 添加程序集环境检测任务
        /// </summary>
        /// <param name="task"></param>
        /// <returns></returns>
        public CheckResult Check(CheckTask task)
        {
            int taskId = CheckServer.Check(task);

            checkFile.StartProcessDirectory(AutoCSer.Pub.StartTime.Ticks.toString() + " " + taskId.toString());
            task.WaitHandle.Wait();
            return(task.Result);
        }
Example #3
0
        /// <summary>
        /// 添加程序集环境检测任务
        /// </summary>
        /// <param name="task"></param>
        private void check(CheckTask task)
        {
            AddCheckTask addCheckTask = new AddCheckTask(CheckServer, task);

            addCheckTask.CheckCall(AutoCSer.Net.TcpServer.ServerTaskType.Queue, CheckServer.TcpServer);
            task.WaitHandle.WaitOne();
            checkFile.StartProcessDirectory(AutoCSer.Date.StartTime.Ticks.toString() + " " + addCheckTask.TaskId.toString());
        }
Example #4
0
 /// <summary>
 /// 添加程序集环境检测任务
 /// </summary>
 /// <param name="task"></param>
 /// <param name="millisecondsTimeout"></param>
 /// <returns></returns>
 public CheckResult Check(CheckTask task, int millisecondsTimeout)
 {
     using (task.WaitHandle = new System.Threading.AutoResetEvent(false))
     {
         check(task);
         task.WaitHandle.WaitOne(millisecondsTimeout);
     }
     return(task.Result);
 }
Example #5
0
 /// <summary>
 /// 添加程序集环境检测任务
 /// </summary>
 /// <param name="task"></param>
 /// <returns></returns>
 public CheckResult Check(CheckTask task)
 {
     using (task.WaitHandle = new System.Threading.AutoResetEvent(false))
     {
         check(task);
         task.WaitHandle.WaitOne();
     }
     return(task.Result);
 }
Example #6
0
        /// <summary>
        /// 添加程序集环境检测任务
        /// </summary>
        /// <param name="task"></param>
        /// <returns></returns>
        internal int Check(CheckTask task)
        {
            task.WaitHandle.Set(0);
            int taskId = Interlocked.Increment(ref CheckServer.taskId);

            Monitor.Enter(taskLock);
            try
            {
                tasks.Add(taskId, task);
            }
            finally { Monitor.Exit(taskLock); }
            return(taskId);
        }
Example #7
0
 /// <summary>
 /// 添加程序集环境检测任务
 /// </summary>
 /// <param name="server">程序集环境检测服务</param>
 /// <param name="task">程序集环境检测任务</param>
 internal AddCheckTask(CheckServer server, CheckTask task)
 {
     this.server = server;
     this.task   = task;
 }