Ejemplo n.º 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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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());
        }
Ejemplo n.º 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);
 }
Ejemplo n.º 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);
 }
Ejemplo n.º 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);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 添加程序集环境检测任务
 /// </summary>
 /// <param name="server">程序集环境检测服务</param>
 /// <param name="task">程序集环境检测任务</param>
 internal AddCheckTask(CheckServer server, CheckTask task)
 {
     this.server = server;
     this.task   = task;
 }