请教一下 Blazor web app (服务器模式) 如何与硬件交互 问题

929Free 641 信誉分
2025-03-26T06:18:57.31+00:00

工程师们,你们好,框架: Blazor web app (server 模式), .net 版本: 9.0

场景如下:

            1.主程序部署在内网的远程服务器上

            2.此时有3台PC (A、B、C) , 通过 chrome 浏览器 访问到了 Blazor web app 主程序 URL

            3.假如 A 要连接一台身份证阅读器, 并且 A 已经将对应的 身份证阅读器 驱动安装到了本机                         win11 下

问题:

    请问一下,Blazor web app 程序的 某一个 ***.razor 组件 (读取到身份证信息的页面), 是如何与硬件交互的呢?是通过 javascript 交互 还是 c# 交互?还是说 要在 A 机器上 安装 一个额外的 通讯程序 呢?能否教一下,谢谢了. 
Blazor
Blazor
一个免费的开源 Web 框架,使开发人员能够使用 Microsoft 开发的 C# 和 HTML 创建 Web 应用。
35 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. 匿名
    2025-03-26T07:44:48.18+00:00

    Hi @929Free,

    首先我们需要知道Blazor Web应用程序是部署在Web服务器中的(windows下使用的是IIS)。客户端(A,B,C)浏览器打开的时候,其实是通过Http协议 与 Blazor 应用进行交互的(Blazor内置的通信是websocket,不在本次讨论的范围中)。

    那么打开的网页中,假设开始读取居民身份证,身份信息成功展示在页面中。那么此时一定是通过Javascript进行交互的。 C#代码 是无法在客户端A,B,C 机器上进行执行的 。即使我们有API或者页面按钮可以调用后端的C#代码,比如去读取身份证信息,那么也是由Web 服务器端去执行。

    简单的来说,web项目均属于B/S,通过javascript调用浏览器的api或者是ocx插件实现的 。桌面应用程序属于C/S,通过项目引用厂商提供的包,从而允许C#代码在机器上运行的时候可以与已安装驱动软件进行交互 。刚刚我也简单的检索了国内常见的 身份证阅读器/读卡器, 基本上都支持 C/S 和 B/S 的 二次开发。

    这是我在常见的厂商中的开发集成板块下找到的截图,清楚的显示了支持的语言,运行环境。

    用户的图像

    通常来说,购买设备后,会提供demo程序,我们查看网页端的即可。如果选用的是大厂设备,在遇到问题后,您也可以在其官网寻求技术支持。


    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他问题,请点击“评论”。

    注意:如果您想接收此线程的相关电子邮件通知,请按照我们的 文档 中的步骤启用电子邮件通知。

    Best Regards

    Jason

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。