.NET Core 面试题

搭建.netcore框架,仓储层使用dapper,集成rabbitmq和redis。使用mysql数据库。创建一个简单的表格,实现增删改查。

整体逻辑:

使用HTTP请求来测试增删改查操作。例如,使用GET请求获取/api/MyTable来获取所有记录,使用GET请求获取/api/MyTable/{id}来获取特定ID的记录,使用POST请求发送JSON数据到/api/MyTable来创建新记录,使用PUT请求更新记录,使用DELETE请求删除记录。

同时,每当插入、更新或删除记录时,会将消息发送到RabbitMQ,并将相关信息存储到Redis缓存中

步骤

  1. 确保环境已安装.NET Core SDK
  2. 选择创建项目的文件路径,打开cmd命令提示符或powershell,执行命令dotnet new webapi -n demo
  3. cd demo

dotnet add package Dapper

dotnet add package RabbitMQ.Client

dotnet add package StackExchange.Redis

dotnet add package MySql.Data

  1. 配置appsettings.json文件,Mysql数据库连接,RabbitMQ和Redis:在appsettings.json文件中,添加以下内容来配置RabbitMQ和Redis连接

  1. 创建一个名为MyTable.cs的类

  1. 创建一个名为MyTableRepository.cs的仓储类,用于处理数据库操作

  1. 创建一个名为MyTableController.cs的控制器类,用于处理API端点
  2. 在Programs.cs中注册MyTableRepository、RabbitMQ连接和Redis数据库连接作为服务

  1. 以下为某个电表的通信协议:

3.2.10.DL/T645 -2007通讯抄表应用(通讯协议)

本电能表能通过其RS485接口实现远距离抄录表内电能等数据。并能通过其红外通讯接口用掌上电脑实现近距离抄录表内电能数据。编码格式、校验和数据传输方式符合DL/T645 -2007标准要求。通讯波特率出厂默认为1200bps.(1200bps,2400bps、4800bps、9600bps可选)。

DL/T645 -2007通讯协议描述:

  1. 数据格式:

帧起始符 表地址 帧起始符 控制码 长度 数据   校验码  结束符

68H + A0A1A2A3A4A5 +68H +C + L +DATA +CS校验码 +16H

2、寄存器类型

本表使用了两种类型的控制字

第一类是读数据寄存器。

第二类是写数据寄存器。

3、数据格式

默认为BCD码,其中电量抄读支持4字节。

4、寄存器列表

数据寄存器地址

寄存器说明

3D2

1D0

描述

单位

数据长度

格式/模式

0000

0000

电量

千瓦时

4

只读

0000

0100

当前电量

千瓦时

4

只读

0203

0004

示周期

1

读/写

0303

0004

示位

1

读/写

5.参数寄存器列表

参数寄存器地址

寄存器说明

HI字节

LO字节

描述

单位

数据长度

格式/模式

0104

0004

通讯地

1

读/写

0204

0004

表地址

(表号1-255)

1

读/写

0904

0004

脉冲常数

imp

2

6、举例说明

1)对新表设表地址的写操作(注意:对于新表,表号原地址为0,有些表需要短接跳线才能更改表地址。)

下发数据(HEX):68 AA AA AA AA AA AA 68 15 06 56 34 33 33 33 33 3D 16(将新表地址设为123)

返回:68 23 01 00 00 00 00 68 95 00 89 16

2)下发数据(HEX):FE FE FE 68 99 99 99 99 99 99 68 11 04 33 33 34 33 48 16读取表电量:

返回:FE 68 01 00 00 00 00 00 68 91 08 33 33 34 33 39 33 33 33 09 16

要求:

该电表是485接口,写一段串口收发程序,实现对本块电表的电量读取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

战族狼魂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值