当前位置:首页 > 技术分析 > 正文内容

.NET CORE 抛弃IIS后可以做的事:JS调用本地硬件服务插件

ruisui883周前 (04-03)技术分析19

在上一篇《.NET CORE 抛弃IIS,超便捷BS系统部署方案》一文中介绍了如何便捷部署BS系统,如果有朋友还不了解的,建议先看我主页的上一篇文章了解下。

既然现在我们可以脱离IIS,以windows服务方式部署BS系统了,除了让我们部署变得便捷外,还可以做哪些事呢?我们公司主要做物联网,工控项目,经常需要和硬件设备打交道。在BS系统大行其道的当下,也就经常遇到需要在服务端部署的系统内的网页中调用用户本地硬件来完成一些功能,比如调用本地的读卡器,读取会员卡芯片内容,又或者调用RFID读写器,将一些数据写入RFID电子标签。

以往.NET程序员都是写一个ActiveX控件来实现JS调用本地硬件,但这种方式最大的缺点是必须用IE,另外还有对IE进行安全设置才能使用,非常的不方便。特别是当我们目前技术栈都已经改成前后端分离,前端使用Vue,ElementUI等,对IE的兼容性都很差。我们需要抛弃IE,抛弃ActiveX,急需一种新的技术实现用户本地硬件的访问,甚至一种跨平台的本地硬件插件服务。

1、先新建一个ASP.NET CORE WEB API项目(也就是用户本地硬件服务)

新建ASP.NET Core Web API 项目

2、Nuget安装
Microsoft.Extensions.Hosting.WindowsServices

3、配置windows服务部署支持,并设置我们的web服务插件监听端口默认为:56666

4、配置支持跨域访问(重点),只有配置了跨域访问,我们的BS系统的网页才能通过JS顺利调用本插件服务的webapi

跨域访问支持

5、添加一个测试用的webapi,这里只是在接口里面直接返回两组字符串,实际项目中可以做一些与硬件通信的操作,本文主要讲的是如何在我们的网页上通过JS调用本插件服务的webapi。

6、发布服务(注意如图的发布参数),并安装服务到用户本地(安装方式参考前一篇博文)

7、编写一个测试用的html页,并将该页面放到我们的云服务器的一个站点下



    知擎物联设备服务插件测试
    
    <script type="text/javascript" src="jquery.min.js"></script>


    
知擎物联设备服务插件测试
<script type="text/javascript"> $(document).ready(function () { $("button").click(function () { $.ajax({ url: "http://localhost:56666/api/1000", success: function (result) { $("#div1").html(result); } }); }); }); </script>

8、浏览器访问之前放置在云服务器站点上的网页,点击测试网页上的按钮,发起ajax请求到本地的web服务接口(
http://localhost:56666/api/1000
,顺利得到接口的返回值。

欢迎大家交流评论,共同进步,有任何建议或问题随时私聊我

如果本文对您有帮助,请关注,点赞,这是对我继续分享技术最好的鼓励。

有需要本文DEMO的,私聊关键字:JS调用本地硬件

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3263.html

分享给朋友:

“.NET CORE 抛弃IIS后可以做的事:JS调用本地硬件服务插件” 的相关文章

2024最新版:前端性能优化方案汇总

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~Hello,大家好,我是 Sunday。前端性能优化一直是很多同学非常关注的问题,在日常的面试中也是经常会被问到的点。所以今天咱们就花一点时间来了解一下2024最新的...

基于Spring Cloud+VUE的多租户小程序商城源码「快速二开可商用」

一、系统介绍JooLun平台是一个专注微信快速二开系统研发的平台,采用Java语言开发,使用的是最新微服务前后端分离技术,目前有公众号和小程序商城两个版本,有公众号后台管理、小程序商城。基于Spring Cloud微服务+VUE实现的核心框架多租户小程序商城源码,核心框架采用SpringBoot2+...

three.js cannon.js物理引擎之齿轮动画

今天继续说一说cannon.js物理引擎,并用之前已经学习过的知识实现一个小动画,知识点包括ConvexPolyhedron多边形、Shape几何体、Body刚体、HingeConstraint铰链约束等等知识。因为我之前用纯three.js 的THREEBSP实现过一个静态的齿轮,现在就想配合ca...

嵌入式实操——基于RT1170 使能SEMC配置SDRAM功能(八)

本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发MCUXpresso SDK SEMC API 接口链接  在MCUXpresso SDK 框架下提供了对SEMC DDR进行操作的接口。学习链接:https://community.nxp.com/...

山西省就业见习服务平台上线

25日起,单位申报见习岗位和个人申请就业见习均可网上办理4月21日,记者从山西省人社厅获悉,我省就业见习服务平台在省人社厅门户网站(https://rst. shanxi.gov.cn/)上线。从4月25日起,单位申报见习岗位、个人申请就业见习均可登录该平台,全程在网上办理。打开省人社厅官网,山西省...

Node环境和Vue脚手架的搭建(详细教程)

一、Node.js1.什么是Node.js?Node(或者说 Node.js,两者是等价的)是 JavaScript 的一种运行环境。在此之前,我们知道 JavaScript 都是在浏览器中执行的,用于给网页添加各种动态效果,那么可以说浏览器也是 JavaScript 的运行环境。那么这两个运行环境...