发布

中控IFace302考勤机二开内存问题解决方案

WAP站长网 2025-9-7 21:30
0 4

/// <summary>
        /// 连接设备
        /// </summary>
        public void ConnectAsyn()
        {
            if (isConnectting == true)
            {
                OnShowMessage("正在连接...请稍后...");
                return;
            }
            try
            {
                ThreadJob = new Thread(new ThreadStart(Connect));
                ThreadJob.IsBackground = true;
                ThreadJob.Start();
            }
            catch (Exception ex)
            {
                Utils.WriteLog(ex.ToString(), "ConnectAsyn");

                try
                {
                    //Marshal.ReleaseComObject(zkDevice);        //否则多次调用时会出现  示尝试读取或写入受保护的内存 这通常指示其它内存已损坏     
                    GC.Collect();
                    zkDevice = null;
                    GC.Collect();
                }
                catch (Exception ex2)
                {
                    Utils.WriteLog(ex2.ToString(), "zkDevice=null");
                }
            }

        }