C# 从虹膜设备读取数据时,如何保持状态?
我有一个中央网络应用程序,它在用户PC上启动一个虹膜扫描设备。我们的客户安装了我们的扫描仪驱动程序,这样就可以跟踪从他们的网站来来去去的人C# 从虹膜设备读取数据时,如何保持状态?,c#,asp.net-web-api,synchronous,iris-recognition,C#,Asp.net Web Api,Synchronous,Iris Recognition,我有一个中央网络应用程序,它在用户PC上启动一个虹膜扫描设备。我们的客户安装了我们的扫描仪驱动程序,这样就可以跟踪从他们的网站来来去去的人 用户登录网站并单击扫描链接 有一个本地安装的WebAPI服务,用于从网站中输入调用 WebAPI服务激活启动扫描过程的COM组件 一旦用户完成虹膜扫描,它将返回事件处理程序并显示结果 这就是问题所在。为了完成扫描,必须有对COM对象的实时引用,直到扫描完成。但是,一旦扫描开始,代码将继续并从本地服务调用返回。此时,上下文将丢失,并且可能会标记内存以进行清理,
我想创建一个windows服务,在后台持续运行,每次扫描请求都会加载一个AppDomain。请求可以在我的web应用程序通过web服务轮询状态更改时处理。我认为您只需要将
COM
组件对象包装到一个Singleton
类中,在该类中它只实例化一次。(有关Singleton的更多信息,请阅读)
另外,如果您选择windows服务选项(我认为这是一个非常好的主意),我建议使用
SignlaR
在客户端和服务器之间推送消息 如果我能在windows服务和我的web应用程序之间使用信号器,那将是完美的。我必须检查你的链接。然而,我过去曾与信号员发生过锁车问题。祝你好运!