.NET中ActiveX的替代方案

时间:2015-08-12 19:04:36

标签: c# asp.net asp.net-mvc wpf activex

我知道有很多主题讨论这个主题,但请让我在一些细节上讨论我的问题。

在我们的项目中,我们在桌面应用程序中使用了很多设备(摄像头,打印机,指纹设备,智能卡读卡器),我们已经开发了C#组件,这些组件是使用他们的SDK来处理这些设备的。

现在的问题是我们正在进入Web开发,我们应该将我们的WPF桌面应用程序转换为ASP.NET MVC Web应用程序,我们也应该将现有的组件用于设备。

从web .Net应用程序处理设备的可能解决方案是:

  1. 使用ActiveX(已经死了或将很快死掉,它需要一些COM经验并且很难开发)。
  2. 使用Silverlight(此外,已经死亡或将很快死亡,而且非常有限,因此我们无法添加对现有C#组件的引用)。
  3. 使用Java Applet(需要一些Java经验,我们将用Java重写现有的c#组件)。
  4. 还有其他解决方案,以便我们可以通过Intranet处理ASP.NET MVC应用程序中的设备吗?

2 个答案:

答案 0 :(得分:1)

您可以为ChromeFirefox和Edge(很快)编写浏览器扩展程序。如果您需要将所有代码全部定位,我不确定您将在浏览器中重复使用多少代码,而且我不确定您可以在多大程度上运行任意代码来连接到设备来自您的扩展程序,但这是您应该研究的内容。然后,您可以让浏览器扩展程序与您的网页进行通信,以传递必要的数据。

您的用户需要为其浏览器安装扩展程序以接收功能。

答案 1 :(得分:0)

您仍然可以分发小型"帮助者"基于当前WPF应用程序的简化版本的应用程序。这些将执行设备访问,并直接与您的Web服务器通信。该网站将作为界面。

这将允许您利用现有的设备通信代码。在缺点方面,它需要在客户端上单独安装,这意味着用户还需要做一件事,还有一件事要继续更新。