在上位机开发过程中,有时候会遇到需要提供数据接口给MES或者其他系统,今天跟大家分享一下,如何在Winform等桌面应用程序中,开发WebApi接口,提供对外数据服务。
为了更好地演示应用场景,本案例以读取ModbusTCP设备为例,开发好WeiApi接口后,第三方系统可以通过该接口读取到设备数据。
本例使用的技术环境:VS2019,Modbus Slave
1、创建一个Winform程序
2、布局ui界面,这里布局没有做精细优美布局,只是常规布局
3、实现ModbusTCP连接
3.1安装Modbus Slave这个软件,这是一个Modbus从站设备的模拟软件,用来模拟一个Modbus Slave的设备,也就是下位机的设备,比如一个温度传感器,打开软件,
3.2 填写三个数据
3.3、Nuget搜索modbustcp并安装,便于后续可以实现ModbusTCP连接,
3.4,“建立连接”按钮的代码如下:
运行程序,点击连接,显示成功
3.5断开连接的代码
4、创建HttpServer
4.1 首先通过Nuget搜索这两个库,添加一下引用:
-
Microsoft.AspNet.WebApi.Client
-
Microsoft.AspNet.WebApi.SelfHost
-
4.2 创建类,HttpServer主要是对HttpSelfHostServer的封装,HttpServer类如下:
4.3,添加一个类HomeController,
- 编写了一个方法可以读取一个保持寄存器存储区数据,代码如下所示: