乐于分享
好东西不私藏

.NET 10 高性能、插件化的工业物联网通讯框架

.NET 10 高性能、插件化的工业物联网通讯框架

前言

工业物联网这个领域,有个老难题一直没解决好:不同厂家的设备说不同的协议。西门子PLC讲S7协议,施耐德用Modbus,高端设备可能走OPC UA,边缘端还有一堆MQTT设备。以前的做法是针对每种协议单独写一套采集程序,最后运维手里攒了一堆"小工具",改个配置都得翻半天代码。

本文推荐这个框架的思路不太一样——它把设备通信这件事抽象成统一的读写模型,上层业务代码面对的不再是千奇百怪的协议,而是一个简单的Request/Response接口。

项目介绍

一个基于.NET 10 开发的工业物联网通讯集成框架,主打高性能和插件化。它的核心定位是充当工业设备(南向)和IT系统(北向)之间的协议转换桥梁。

不管你底下接的是西门子PLC、OPC UA服务器,还是Modbus设备、MQTT Broker,到UniCon这一层都变成了统一的调用方式。框架内置了v2极速扫描引擎、智能自愈机制、Quartz任务调度和动态WebAPI,单机可支撑万级点位的高频轮询。

项目功能

功能模块
具体能力
适用场景
统一读写契约
UniconRequest/Response抽象模型,屏蔽底层协议差异
多协议设备统一接入
v2扫描引擎
基于Channel异步分发与无锁队列,支持万级点位高频采集
大规模设备数据采集
智能自愈
Watchdog监控+指数退避重连,自动处理网络中断
工业现场恶劣网络环境
任务调度
Quartz.NET集成,支持CRON表达式配置采集任务
批处理、定时巡检
动态WebAPI
Minimal API运行时注册,提供标准RESTful接口
第三方系统调用设备数据
数据质量审计
DataValue自带Quality戳和ServerTimestamp
时序数据库数据清洗
插件化驱动
基于DriverBase基类,新增协议只需实现读写逻辑
扩展新设备类型
变化订阅
ExceptionBased模式,仅值变化时推送,支持死区过滤
降低网络与存储压力

项目特点

协议抽象得干净

最出彩的设计是那个统一的读写契约。不管你是读PLC的DB块,还是查OPC UA的节点,甚至是从MQTT拉一条消息,在上层看起来都像是在调一个HTTP接口。这种设计借鉴了现代Web架构的思路,熟悉RESTful风格的人几乎没有学习成本。

v2引擎下了功夫

很多物联网框架的痛点不是功能不够,而是扛不住并发。项目的v2扫描引擎用System.Threading.Channels做异步分发,搭配无锁队列设计,把调度、地址合并去重、回调推送这三个环节彻底解耦。实测在万级点位的高频采集场景下,CPU和内存的表现都比较克制。

自愈机制很务实

工业现场的网络环境大家都懂——交换机重启、网线松了、PLC临时离线,这些是家常便饭。UniCon内置的Watchdog加指数退避重连算法,能自动感知链路状态并尝试恢复,不用写一堆重试的胶水代码。

插件化不玩虚的

新增一个协议驱动,继承DriverBase基类,实现核心读写逻辑就行。框架会通过依赖注入自动发现和注册驱动,不用改核心代码。目前官方已经提供了S7、OPC UA、Modbus、MQTT四套生产级驱动,基本覆盖了主流场景。

数据质量原生支持

DataValue< T>这个领域模型带Quality和ServerTimestamp字段,专门适配时序数据库(如InfluxDB、TDengine)对数据源头审计的要求。这个细节说明框架的设计者对工业场景的真实需求有了解——光有数值不够,还得知道这个值可不可信、是什么时候采集的。

项目技术

技术分层
具体技术
用途说明
运行时
.NET 10.0 (C# 14/15)
框架基础运行环境
依赖注入
Microsoft.Extensions.DependencyInjection
模块化与服务注册
Web框架
ASP.NET Core Minimal APIs
动态RESTful接口暴露
高并发
System.Threading.Channels
异步无锁队列,v2引擎核心
任务调度
Quartz.NET
CRON表达式定时任务
参数验证
FluentValidation
请求参数校验
配置管理
Options Pattern
强类型配置绑定
S7驱动
S7netplus
西门子PLC通信
OPC UA驱动
Workstation.UaClient
OPC UA客户端
Modbus驱动
EasyModbusTCP
Modbus TCP/RTU
MQTT驱动
MQTTnet
消息队列客户端

项目代码

安装使用非常简单。首先按需安装NuGet包:

# 核心包(必装)dotnet add package xxxx.Core# 按需装驱动,比如接西门子PLC就装这个dotnet add package xxxx.Drivers.S7

然后在Program.cs中注册服务:

using xxxx.Core.Extensions;var builder = WebApplication.CreateBuilder(args);// 一键注册UniCon核心builder.Services.AddUniCon();// 可选:注册Quartz调度builder.Services.AddQuartzService();var app = builder.Build();app.Run();

连接设备并订阅点位变化:

// 实例化西门子驱动var s7Driver = new S7Driver("Siemens_PLC_01", logger, cacheProvider);s7Driver.EnableAutoReconnect = true;// 连接PLCawait s7Driver.ConnectAsync("CpuType=S71200;Ip=192.168.1.200;Rack=0;Slot=1");// 订阅点位,变化时回调var subscriptionId = await s7Driver.SubscribeAsync(new UniconSubscription{    Address = "DB10.DBD20",    ScanRateMs = 200,    ScanMode = UniconScanMode.ExceptionBased,  // 仅变化推送    Metadata = new TagMetadata { Deadband = 0.2, Unit = "Mpa" },    Callback = async dataValue =>     {        Console.WriteLine($"当前值: {dataValue.Value}{dataValue.Unit}");    }});

通过HTTP接口读取设备数据:

GET http://localhost:5000/api/drivers/Siemens_PLC_01/read?address=DB10.DBD20

返回结果示例:

{"success"true,"code"200,"data": {"address""DB10.DBD20","value"12.84,"quality""Good","serverTimestamp""2026-05-23T17:24:28.104Z"  }}

项目效果

多品牌设备统一接入:车间里有西门子PLC、第三方的Modbus仪表、还有几个OPC UA接口的机器人,以前需要三套采集程序。用UniCon一套框架全搞定,上层MES系统调统一接口就行。

高频数据采集:v2引擎的Channel设计适合振动监测、高速包装线这类需要毫秒级轮询的场景。官方文档提到万级点位的并发采集能力,实际性能取决于硬件配置,但架构层面没有明显瓶颈。

协议扩展:碰到非标准协议或者定制设备,写一个驱动插件就行。框架提供的DriverBase基类已经把连接管理、重连、日志这些通用逻辑封装好了,只需要实现ReadAsync/WriteAsync两个核心方法。

时序数据入库:DataValue自带的Quality和ServerTimestamp字段,接InfluxDB时可以直接落库,后续做数据清洗和分析都有据可查。

项目源码

目录结构

xxx/├── src/│   ├── xxxx.Core/              # 核心抽象与领域模型│   ├── xxxx.Drivers.S7/        # 西门子S7驱动│   ├── xxxx.Drivers.OpcUa/     # OPC UA驱动│   ├── xxxx.Drivers.Modbus/    # Modbus驱动│   ├── xxxx.Drivers.Mqtt/      # MQTT驱动│   ├── xxxx.WebServer/         # WebAPI宿主网关│   └── xxxx.Jobs/              # Quartz任务扩展├── tests/                        # 单元测试└── .vuepress_docs/               # 在线文档工程

快速启动:

git clone https://github.com/entity/xxxx.gitcd xxxxdotnet restoredotnet build -c Releasedotnet run --project src/xxxx.WebServer

服务启动后访问 http://localhost:5000/health 检查健康状态。

为了防止丢失,可以在评论区留言关键字工业物联网,即可获取完整源码地址。

总结

项目给人的印象是一个"懂工业"的框架。它没有盲目追求新潮的技术栈,而是在协议抽象、并发调度、自愈机制这些实实在在的痛点上深耕。统一读写契约的设计思路值得学习——复杂系统里做抽象,收益往往比想象的大。v2引擎基于Channel的实现也提供了一个高并发调度的参考范例。

不过目前这个项目还很新,驱动覆盖面还有提升空间,比如CANopen、Profinet这些工业现场常见的协议还没有官方驱动。如果团队正好在搞工业物联网平台,值得花时间研究一下,至少那个插件化架构和统一读写模型,能帮你省不少重复造轮子的功夫。

关键词

.NET 10、#工业物联网#协议转换#S7协议#OPC UA、#Modbus#MQTT#高并发采集#插件化框架、System.Threading.Channels、Quartz.NET、自愈重连、时序数据质量戳

最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

作者:小码编匠

出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
END
方便大家交流、资源共享和共同成长
纯技术交流群,需要加入的小伙伴请扫码,并备注加群

推荐阅读

C# 视觉检测平台(支持海康工业相机+OpenCV 算子流程编排+串口通信)

C# 工业级高频串口波形上位机

C# 实现 SCADA + 看板 + MES 接口,一套能落地的工业方案

.NET 8 工业自动化流程编辑器,不用写代码,拖拽生成PLC数据流

.NET 10 实现工业调试必备的通信工具(支持串口/Modbus/TCP/OPC UA)

WPF 工具 + 多模型 AI 代理让 Copilot 用上国产大模型

C# 高颜值工业设备监控上位机,支持多参数实时采集

C# 工控开发打造专业级运动控制系统

.NET 8 + WPF 的温湿度远程监测上位机系统

C# + VisionMaster 的通用视觉控制上位机

WinForm 开发的机器视觉自动化上位机

无硬件如何学上位机?C# 开发的雷赛运动控制卡仿真软件

15个高质量开源项目:带你玩转C#运动控制、机器视觉与现代化UI

WinForm + SunnyUI 的智能图书管理系统(用户/管理员双端)

Element 风格的 WPF 后台管理系统,免费开源,开箱即用

开箱即用的 .NET 8 + Avalonia + SukiUI 桌面应用模板

.NET 8 + S7.Net Plus 开源PLC监控系统,支持西门子与Modbus双协议

5分钟搭建工控 HMI:WinForm 状态/报警/趋势控件库及模板

WPF + Halcon/OpenCvSharp 的锂电池极耳视觉检测系统

C# 自动化设备运动控制上位机模拟系统

.NET 8+MAUI跨平台 IoT 移动端,实时监控水温、转速与光强

一款高效易用的 WinForm 端口扫描工具

WPF 表格终于能筛选了!支持嵌套对象、百万级数据、开箱即用

C# 工业机器视觉平台,实现 OpenCV 与 深度学习算法的可视化编排

填补.NET 生态空白:面向工业视觉的高性能 3D 点云/网格处理库

WPF 打造可视化标签打印工具:自由绘制,所见即所得

WPF + MVVM架构的开源高效工业级电池管理系统(BMS)

.NET 9+ Avalonia + Prism 高性能、支持 AOT 跨平台桌面应用

开源、有文档、能上线的 .NET + Vue 通用权限系统

一个真正好用的 .NET 开源短链系统:支持生成 + 实时监控

.NET 开源串口转发工具,工业协议调试 + 自动应答

WPF 工业视觉检测系统:双工位(面阵 + 线扫)独立运行架构

.NET 10 + CQRS + MediatR 一个跨平台文档管理系统

WinForm + Modbus 上位机温湿度数据采集系统

超实用!一个专为工控量身打造的 WinForm 控件

觉得有收获?不妨分享让更多人受益

关注「DotNet技术匠」,共同提升技术实力

收藏
点赞
分享
在看
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-13 19:37:04 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/748701.html
  2. 运行时间 : 0.106907s [ 吞吐率:9.35req/s ] 内存消耗:4,767.09kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=07dee7ce7949859567d1f058638756aa
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000572s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000839s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000361s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000300s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000473s ]
  6. SELECT * FROM `set` [ RunTime:0.000198s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000531s ]
  8. SELECT * FROM `article` WHERE `id` = 748701 LIMIT 1 [ RunTime:0.010227s ]
  9. UPDATE `article` SET `lasttime` = 1781350624 WHERE `id` = 748701 [ RunTime:0.006163s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000302s ]
  11. SELECT * FROM `article` WHERE `id` < 748701 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000527s ]
  12. SELECT * FROM `article` WHERE `id` > 748701 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000352s ]
  13. SELECT * FROM `article` WHERE `id` < 748701 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000822s ]
  14. SELECT * FROM `article` WHERE `id` < 748701 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001093s ]
  15. SELECT * FROM `article` WHERE `id` < 748701 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002284s ]
0.108498s