我目前正在开发一个ASP.Net MVC4应用程序来自动化生产工作流程。 我的客户希望解决方案是“零足迹”,因此完全在浏览器中运行。
我无法想象如何处理的问题之一是从页面内连接到客户端串行/并行端口的称重秤获取数据。 (显然这不能通过网络后端完成......)
我一直在挖掘,假设这可以通过javascript / jquery实现,但由于这是在浏览器中运行沙箱,我假设被卡住了......
我考虑过的一种方法是编写一个自托管的WCF Web服务,在客户端上运行,该客户端具有附加的比例(由Windows服务或控制台应用程序托管等),从而公开比例读数。从理论上讲,这将允许我在我的MVC C#代码中使用IIS后端中的web服务并将其提供给客户端。
这种方法的唯一问题是,这需要在本地托管应用程序,我们更愿意让它由外部提供商托管。
是否无法在客户端专门处理此问题? 我无法想象我是第一个遇到这种情况的人,但我似乎无法通过在网上挖掘来找到我正在寻找的东西......
有什么想法吗?
提前致谢!比利时Stijn
答案 0 :(得分:0)
您必须在系统上运行一个可以访问硬件的进程,以支持从任何硬件接口读取数据。你有很多选择 - 它可以是运行的本地服务,可以读取串行端口并向浏览器公开一个简单的HTTP端点。您还可以为Chrome浏览器或浏览器扩展程序执行ActiveX样式控件:
答案 1 :(得分:0)
作为后续行动:
我最终创建了一个用户控件,通过 CreateFile 的PInvoke读取COM端口以打开COM端口......
工作得很好,没有在客户端等上运行外部进程的麻烦......
是否需要完全信任浏览器,但这是可以接受的,因为它将在我们控制的客户端上运行...
grtz, 斯泰恩