首页 > 解决方案 > Zkteco 事件监听器在 ASP.NET Web 服务项目中不起作用

问题描述

我们计划为 Zkteco SDK 中提供的方法开发 ASP.Net 网络服务。

其中一项网络服务是连接到设备。调用“Connect_Net(string IPAdd, int Port)”方法后,连接成功,同样在该方法中,我们注册了如下几个事件:-

public bool Connect_Net(string IPAdd, int Port)
        {
            if (objCZKEM.Connect_Net(IPAdd, Port))
            {
                //65535, 32767
                if (objCZKEM.RegEvent(1, 32767))
                {
                    // [ 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.OnEnrollFinger += ObjCZKEM_OnEnrollFinger;
                    objCZKEM.OnEnrollFingerEx += new _IZKEMEvents_OnEnrollFingerExEventHandler(ObjCZKEM_OnEnrollFingerEx);
                    objCZKEM.OnNewUser += ObjCZKEM_OnNewUser;
                    objCZKEM.OnFinger += ObjCZKEM_OnFinger;
                    //this.objCZKEM.OnVerify += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(ObjCZKEM_OnVerify);
                    objCZKEM.OnAttTransactionEx += new _IZKEMEvents_OnAttTransactionExEventHandler(zkemClient_OnAttTransactionEx);
                }
                return true;
            }
            return false;
        }

但连接后,这些事件(OnEnrollFinger、On Clock-In 等)不会在 ASP.NET Web 服务中被调用。

类似的侦听器在 Windows 窗体应用程序中工作正常。

您能否就如何解决这个问题提出建议?,上述事件是否应该在后台线程中注册?如果是,那么该怎么做?

谢谢

标签: c#asp.netzkteco

解决方案


就我而言,我是在 Windows 窗体应用程序中完成的,然后将数据传递给 Web API


推荐阅读