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

boyanx3个月前技术教程14

在上一篇《.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项目(也就是用户本地硬件服务)

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

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

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

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

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

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

<html>
<head>
    <title>知擎物联设备服务插件测试</title>
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script type="text/javascript" src="jquery.min.js"></script>
</head>
<body>
    <div style="color:red;">知擎物联设备服务插件测试</div>
    <button type="button">获取本地设备列表</button>
    <div id="div1" style="color:blue;"></div>
    <script type="text/javascript">
        $(document).ready(function () {
            $("button").click(function () {
                $.ajax({
                    url: "http://localhost:56666/api/1000", success: function (result) {
                        $("#div1").html(result);
                    }
                });
            });
        });
    </script>
</body>
</html>

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

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

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

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

标签: js插件

相关文章

微软新浏览器 Spartan 将支持 JavaScript 扩展,或直接兼容 Chrome 插件

虽然还不确定十六个小时之后微软是不是会公开发布他们的新浏览器 Spartan,但现在看来它值得我们多等一等。Neowin 曾经提到过微软代号为 Spartan 的新浏览器将支持与 Chrome 类似的...

Rainyday.js – 实现雨滴效果JS插件

Rainyday.js 背后的想法是创建一个 JavaScript 库,利用 HTML5 Canvas 渲染一个雨滴落在玻璃表面的动画。Rainyday.js 有功能可扩展的 API,例如碰撞检测和易...

前端资源-实用的JS插件

现在前端资源越来越多,有创意十足的,有实用性高的,这些对于设计师和前端人员来说都是不错的灵感和资源,所以我们可多关注这些信息,对自己的专业技术有也会帮助的。今天设计达人网为大家分享有:页面进度条、图像...

Swiper - 免费开源、功能强大的触摸滑动js特效插件

简单配置就能实现手机、PC 网页中滑动、焦点轮播图、tab 切换和触摸导航等大部分功能。js 滑动特效插件Swiper 是一款纯 javascript 打造的滑动特效插件,主要用对移动端 web 开发...

好用的JavaScript客户端PDF插件——jsPDF

介绍和往常一样,jsPDF是一个开源的客户端的PDF解决方案,在之前的文章中已经介绍过几个Web端和PDF相关的库,jsPDF同样是一个不错的客户端PDF引 SDK,你可以通过jsPDF在客户端完成相...

VS Code当中的15个神仙插件,值得收藏

Visual Studio Code 是一款轻量级但功能强大的源代码编辑器,适用于 Windows、macOS 和 Linux。内置了对 JavaScript、TypeScript 和 Node.js...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。