patrick.xu
2021-06-02 58493dff9629a168168b63fa0c08f7b2a9cb1ad0
DetectionDataUpload.cs
@@ -23,7 +23,7 @@
    {
        #region 数据上传相关私有成员
        private DetectionData detectionData;
        private Thread uploadDataProcesser;
        private Thread uploadDataProcesser = null;
        //private RunCard runCard;
        private ConfigStruct config;
        #endregion
@@ -43,33 +43,43 @@
        /// </summary>
        public void Start()
        {
            uploadDataProcesser = new Thread(Execute);
            uploadDataProcesser.Start();
            if (uploadDataProcesser == null)
            {
                uploadDataProcesser = new Thread(Execute);
                uploadDataProcesser.IsBackground = true;
                uploadDataProcesser.Start();
            }
        }
        public void Stop()
        {
            if (uploadDataProcesser != null && uploadDataProcesser.IsAlive)
            {
                uploadDataProcesser.Abort();
                uploadDataProcesser.Join();
            }
            uploadDataProcesser = null;
            //if (uploadDataProcesser != null && uploadDataProcesser.IsAlive)
            //{
            //    uploadDataProcesser.Abort();
            //    uploadDataProcesser.Join();
            //}
            //uploadDataProcesser = null;
        }
        static object uploadLock = new object();
        //static object uploadLock = new object();
        public void UploadData()
        {
            lock (uploadLock)
            lock (CommonUtil.UploadDataLock)
            {
                if (!CommonUtil.UploadDataEnable)
                    return;
                DataTable dtUpload = detectionData.QueryUnloadData();
                if (dtUpload.Rows.Count <= 0)
                    return;
                if (dtUpload.Rows.Count < 20)
                {
                    Thread.Sleep(2000);
                    dtUpload = detectionData.QueryUnloadData();
                }
                CommonUtil.UploadDoneHandle.Reset();
                //    Type runCardClass = asm.GetType("AutoRunCard.RunCard");
                //    object runCardObj = Activator.CreateInstance(runCardClass);
@@ -168,6 +178,7 @@
                //}
                CommonUtil.WriteLog(LogType.Inf, string.Format("检测记录上传结束,共有{0}笔待上传数据,成功上传{1}笔", dtUpload.Rows.Count, uploadCount));
                CommonUtil.UploadDoneHandle.Set();
            }
        }
@@ -234,11 +245,11 @@
                int times = 1200 * 5;
                while (uploadDataProcesser.IsAlive)
                {
                    if (!CommonUtil.UploadDataEnable)
                    {
                        Thread.Sleep(20);
                        continue;
                    }
                    //if (!CommonUtil.UploadDataEnable)
                    //{
                    //    Thread.Sleep(20);
                    //    continue;
                    //}
                    //UploadData(asm);
                    UploadData();