有没有一种方式可以访问正在使用ASP.NET MVC 4托管的Web应用程序的客户端的Com端口? 我认为可以通过编写与Com端口通信的客户端c#应用程序,然后从服务器对客户端应用程序进行调用来实现此目标。
简短回答是可能的,但不是直接的。Web应用程序无法访问客户端硬件,除了运行在Web浏览器中的有限沙盒内。应用程序需要在计算机或设备上本地安装,并在具有必要权限的帐户下运行。您可以拥有一个与COM端口通信并使Web服务调用返回到更新数据存储库(数据库/文件)的本地应用程序或服务。然后,您的MVC应用程序可以定期使用此数据进行刷新(或者如果您感到冒险,可以使用类似SignarR的东西)。但是,明显的问题是让用户安装您的本地应用程序,这可能对您有利也可能不利。请注意,复杂性还在于维护用户列表及其关联的COM端口。由于来自COM端口的数据将在用户的浏览器会话之外,您需要将COM端口的“ID”与用户关联起来,以便向他们显示正确的数据。