首页 > 解决方案 > Zkemkeeper OnDisconnectedEvent 未在 C# 中触发

问题描述

背景: 我已经将一个窗口表单应用程序与生物识别考勤机(ZKTeco K20 型号)连接起来。它已连接,但 OnDisconncted 事件存在问题。

我有这个代码片段,这里注册了 onDisconnected 事件,但不幸的是,它没有触发(每当我关闭设备或拔下网络电缆时)。

 public bool Connect_Net(string IPAdd, int Port)
        {   
            if (objCZKEM.Connect_Net(IPAdd, Port))
            {
                //65535, 32767
                //if (objCZKEM.RegEvent(1, 32767))//old
                if (objCZKEM.RegEvent(1, 65535))
                {
                    //MessageBox.Show("Connect_Net");
                    // [ Register your events here ]
                    // [ Go through the _IZKEMEvents_Event class for a complete list of events
                    objCZKEM.OnConnected += ObjCZKEM_OnConnected;
                    //objCZKEM.OnDisConnected += objCZKEM_OnDisConnected;
                    objCZKEM.OnDisConnected += new _IZKEMEvents_OnDisConnectedEventHandler(objCZKEM_OnDisConnected);
                    objCZKEM.OnEnrollFinger += ObjCZKEM_OnEnrollFinger;
                    objCZKEM.OnFinger += ObjCZKEM_OnFinger;
                    objCZKEM.OnAttTransactionEx += new _IZKEMEvents_OnAttTransactionExEventHandler(zkemClient_OnAttTransactionEx);
                    //objCZKEM.OnAttTransactionEx += new _IZKEMEvents_OnAttTransactionExEventHandler(objServerInteraction.zkemClient_OnAttTransactionEx);
                    objCZKEM.OnAlarm += OnAlarm;
                    objCZKEM.OnNewUser += OnNewUser;
                    objCZKEM.OnKeyPress += OnKeyPress;

                }
                return true;
            }
            return false;
        }

事件的其余部分OnAttTransactionEx执行得很好,但是每当我的考勤设备(Zketeco)关闭时,它就不会触发objCZKEM_OnDisConnected事件。此事件是否在设备关闭(考勤机)时触发。?还是我以错误的方式注册它?

这是我通过教程获得此代码的链接。

标签: c#biometricszkemkeeper

解决方案


objCZKEM.OnDisConnected 旨在在设备软断开连接时清理资源,而不是硬断开连接。在您的程序中,当您调用 objCZKEM.disconnect 时,您会触发该事件。

如果设备通过电线断开,则不会触发任何事件。


推荐阅读