如何从Windows中的浏览器(IE,Firefox,Chrome,Safari)启动外部应用程序

时间:2010-06-19 20:39:38

标签: asp.net web activex usb

是否可以在浏览器(IE,Chrome,Safari,Firefox)中嵌入外部应用程序,使其看起来像本机Web应用程序,但实际上可以访问客户端计算机的USB端口?我听说我需要制作一个ActiveX控件。我想使用.Net框架,但如果不可能,也许使用Java或C ++会很好。

我必须制作一个允许用户将外部设备连接到USB端口的应用程序,该设备将备份SIM卡中包含的信息并将其发送到用户的帐户在线日程。因此,用户可以稍后使用相同的应用程序恢复它。这应该是一个Web应用程序,或者至少看起来像一个。

如果第一个是不可能的。有没有办法从所有浏览器启动外部应用程序,然后将信息传递到浏览器窗口以允许它在备份后刷新?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

首先,这似乎是一个很大的安全问题,因此这就是为什么你可能会发现它很棘手的原因。

我要做的是从不同角度看待它;我想要实现的目标是什么?用户如何使用数据?用户将在哪里使用数据?

从你的问题我回答了以下问题;我希望我不会错过任何解释。

  • 我想将数据从外部SIM卡复制到中心位置
  • 我希望用户从中心位置看到这些数据;最好从网络应用程序。
  • 用户将查看并使用来自网络应用程序的数据

假设所有这些都是真的;一个设计选项如下:

1 - 拥有一个基于客户端的应用程序,可以从USB设备读取内容

2 - 拥有一个安全的网络服务,基于客户端的应用程序也可以上传数据

3 - 拥有一个可以查看此数据并查看刷新的Web应用程序

让我逐步了解每一步。

1 - 如果您编写一个小型客户端应用程序,它将被安装或至少在客户端计算机上运行。因此,它可以访问本地客户端资源,例如usb和它们的接口。这意味着他们可以通过此应用程序读取SIM数据,也可以在本地保存并上传数据。要访问Web服务,他们会输入用户名/密码,以便您可以对其进行身份验证以进行上传。

2 - 此Web服务将从客户端应用程序执行身份验证,但也会接收从客户端应用程序提交的数据。现在,从.net获取Web服务非常简单。使用此Web服务,客户端应用程序还可以执行一些检查以确保数据已更新,并且如果网络丢失等,它可以处理重试。

3 - 系统的Web前端将连接到同一数据源。该站点将使用用户名/密码在站点上对其进行身份验证,但也让他们查看上载的数据。至于刷新;如果用户登录并查看数据,您可以使用javascript计时器轮询操作/服务以查看何时添加了新记录等。然后可以通过jQuery或类似的方式显示消息,通知用户。这可能类似于第一次访问或获得新徽章等时StackOverflow提供的通知。

希望这会有所帮助: - )