从硬件沙盒的ActiveX?备择方案?

问题描述:

我在一个泡菜。我工作的公司正在开发一个ASP .NET MVC网站,其中涉及客户端的专业级USB扫描仪。借助Silverlight,从应用程序访问扫描仪非常简单。但是,由于Silverlight已被弃用,我的老板想要转向另一种技术。我们的生物识别SDK是用C#编写的,所以ActiveX是一个明显的选择(除了它是老生常谈,几乎​​在所有浏览器中都不支持,并且可怕的不安全...您能否告诉我这不是我的主意?)从硬件沙盒的ActiveX?备择方案?

到目前为止我一直无法让ActiveX组件与扫描仪交谈。作为Windows应用程序运行的相同代码工作正常,但作为activex小程序运行时,似乎无法识别设备已连接。所以我的问题是IE 11/ActiveX沙箱的USB设备的ActiveX组件?是否有可能在硬件上发言,也许我错过了一些东西?这个古老的框架有没有合理的选择?

+1

老兄,你就完蛋了,我已经在类似的位置,并没有什么(至少,我知道),你可以做,使之从网络工作。我们完成了创建用户安装在机器上的一项非常小的服务,并侦听websocket连接,然后从我们通过websocket连接到本地服务的页面创建。 – Gusman

只是一个想法 - 可能还有其他的(可能更好)的解决方案。

你可以尝试创建一个桌面应用程序,让您可以轻松地访问该设备,然后托管于Web UI的其他应用(WebBrowser控件)内的Web浏览器。这将允许您在本地与设备进行通信,然后使用Web服务API将信息从桌面应用程序传递到网站。

这仍然需要用户在本地安装的东西,但它给你一个集成选项。 (我不是100%肯定,但我不认为你可以做到这一点没有本地组件和ActiveX只在IE浏览器支持 - 我最肯定避免了很多的原因。)

你可以当然,只需使用任何用户界面创建本地应用程序即可从扫描仪获取数据,然后通过外部浏览器访问网站 - 这完全取决于您的偏好。 WebBrowser控件可能会让您更多地控制浏览器环境,但用户可能想要从其他浏览器/设备访问该网站。

@古斯曼的评论是一个很好的选择,太 - 在最后,你可能必须在本地安装的东西。

+0

这就是我的想法。我的老板是那些“网络是未来”的人之一,但我不认为这个问题是可以通过比我更早的框架来解决的:)感谢您的帮助。 – user2694824