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

boyanx2个月前技术教程8

在上一篇《.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插件

相关文章

推荐7个高性能JavaScript代码高亮插件

对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉。一款优秀的JavaScript代码高亮插件,将会帮助你渲染任何一种编程语言,包括一些关键字的着色,以及每行代码的缩进等。今天我们要来分享一些高...

CesiumJS插件开发入门「Mixin」

一般来说,“插件”为软件增加了有用的功能。很多软件都支持自定义插件开发,比如QGIS,让广大用户对软件的功能有了极大的丰富。插件由软件的原始开发人员和其他想要扩展软件核心功能的独立用户编写。1、Ces...

Grid.js - 跨框架的前端表格插件

只想简简单单画个表格,但 React,Vue,Angular,…,这么多前端框架,各自都有不同的表格渲染库。就没有表格库能“一次画表,到处运行”吗?来看看 Grid.js 这个跨框架的前端表格插件吧!...

前端开发神器:那些不容错过的插件推荐

在前端开发的浩瀚宇宙中,各种插件如繁星般闪耀,它们能够极大地提升开发效率,优化用户体验。今天,就来给大家推荐几款实用到爆的前端插件。一、swiper.js如果你需要在网页中创建一个酷炫的轮播图,swi...

10个IntelliJ IDEA免费插件,Java工程师必备

对于Java开发者而言,借助IntelliJ IDEA丰富的插件生态系统,能大幅提升开发效率。从代码优化到调试,IntelliJ的各类插件可简化开发流程。以下为大家精心挑选了IntelliJ IDEA...

优雅轻量级的网页alert弹窗美化插件 alertify.js

alertify.js是一款用于alert美化的插件,支持弹窗,提示,prompt,confirm等多种方式,并且调用简单,非常适合在项目中使用,也是切图网 qietu.com在前端切图项目中比较常用...

发表评论    

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