0

Day 19:定制层的范围与叠加粒度

一套 ERP 几乎不存在装了就用这回事。同一套定义交付给三家公司,这家要把「客户」叫成「经销商」,那家的订单界面要少三个字段,还有一家保存前要多一道信用额度检查。三件事的分量差了一个量级,但只要它们全都被表达成代码,就会走同一条交付路径。 Day 1 那张对照表里,定义驱动之下定制的表现形式是「叠加 ...

Jeff-Tsai 发布于 2026-11-14 10:19 评论(0) 阅读(19)
1

SQL Server 重启后程序连不上,回收 IIS 应用池才恢复

ADO.NET 连接池里的旧 TCP 在数据库重启后不会自己作废。这不是 Microsoft.Data.SqlClient 版本问题。补上重连参数,并在探活失败时清空连接池,进程就能自己恢复。 ...

catcherx 发布于 2026-11-13 14:20 评论(0) 阅读(16)
0

Day 18:错误契约与用户可见消息

一次调用失败分两种。一种是业务规则正常挡下来的,订单没有选客户、状态不允许这样转,这段消息是写给用户看的;另一种是程序没有预期到的异常,消息里可能有服务器的文件路径,那是写给开发者看的。两种回到调用端长得一模一样,都是 JSON-RPC payload 里的 error 字段。分不出来就只能一律显示 ...

Jeff-Tsai 发布于 2026-11-13 09:03 评论(0) 阅读(49)
0

.NET 10 + WPF + Prism 封箱机上位机实战:串口指令应答模型是整个系统的灵魂

本文复盘一套真实交付电商产线的自动封箱机上位机:WPF + Prism 做应用外壳,串口侧用动作 ID 池、应答超时看门狗、帧长度组包三件套保证指令链路可控,配故障码位标志解析与 TSC 指令直发打印,附完整代码与踩坑记录,骨架可直接复用到其他设备型号。 ...

源动力技术栈 发布于 2026-11-12 15:21 评论(0) 阅读(43)
1

使用 C# 定位 PDF 文本:提取文字在页面上的坐标位置

在 PDF 自动化处理中,获取指定文本的精确坐标是一项基础且高频的需求,常用于自动盖章、区域内容校验或动态表单填充。Free Spire.PDF for .NET 作为一款免费、无依赖的 PDF 组件,提供了相对简洁的 API 来实现这一功能。本文将从坐标系概念入手,结合完整代码示例,说明如何定位单 ...

LAYONTHEGROUND 发布于 2026-11-12 10:43 评论(0) 阅读(217)
0

Day 17:Connector 与调用端的职责收敛

昨天谈的是一次调用送进服务端之后怎么被处理。同一份契约在调用端这一侧也得有人负责:有的调用端连的是网络另一头的服务器,有的跑在后端逻辑的同一个进程里,两边要调用的却是同一支方法。 中间那些跟业务无关的事如果留给每一个前端各自处理,有几个前端就会有几种写法,而且同一个错会在每一个前端各自发生一次。框架 ...

Jeff-Tsai 发布于 2026-11-12 08:49 评论(0) 阅读(52)
0

Yuandl.ThemeUI:开源 WPF 现代 UI 组件库

本文介绍开源 WPF 现代 UI 组件库 Yuandl.ThemeUI 的项目定位、NuGet 安装与三步接入流程,并分类展示对话框、导航布局、输入交互、反馈提示等内置控件的实际效果,附设计来源与 Segoe Fluent 图标使用注意事项,帮助开发者快速为 WPF 应用换上 Windows 11 ... ...

源动力技术栈 发布于 2026-11-11 21:13 评论(0) 阅读(39)
0

Day 16:JSON-RPC 2.0:协议选型与请求管道

昨天谈的是一个调用进来之后,框架怎么知道要建哪一个类型。再往前推一格的问题是:这个调用本身长什么样子。一套上千张表单的系统对外要开出的方法数以千计,而其中绝大多数是同一组动作套在不同的表单上。协议要决定的是它们怎么寻址、参数怎么带、失败怎么回报。 框架的答案是一个 POST 端点、一个 method ...

Jeff-Tsai 发布于 2026-11-11 08:36 评论(0) 阅读(100)
0

基于.NET的Windows窗体编程之WinForms数据持久化(1)

在实际应用开发中,数据持久化是必须掌握的技能,而数据库存储是数据持久化常用的方案之一。随着技术的发展,数据库操作已经不再局限于最初的ADO.NET,ORM正以其便捷,简单的操作逐渐成为主流。今天我们以一些简单的小例子,简述基于.NET的Windows窗体编程中数据持久化中ORM的相关应用,仅供学习分... ...

老码识途呀 发布于 2026-11-10 12:00 评论(0) 阅读(52)
0

Day 15:API 契约分层与类型注册表

契约接口、API 类型、BO 类型三层各自的职责与依赖方向。ProgId 作为类型注册表的键,这个模型有一部分沿用自 COM+:注册表只管 ProgId 换到哪一个类型,不管这个程序排在菜单的哪个位置。 ...

Jeff-Tsai 发布于 2026-11-10 08:49 评论(0) 阅读(109)
0

Day 14:业务对象的扩展点与重写时机

定义表达得了的行为,一行代码都不必写。表达不了的才需要接手:这张单据送出前要检查什么、存完之后要通知谁、删除前什么情况不准删。 ...

Jeff-Tsai 发布于 2026-11-09 08:46 评论(0) 阅读(33)
1

Day 13:Session 管理与生命周期

ERP 系统的每一次请求都要先回答两件事:谁在调用、他在哪一家公司。框架若不统一管理,这两个问题会长进每一段业务逻辑的开头,变成到处拷贝的模板代码。 框架的做法是把答案集中在一个对象上:SessionInfo。它看起来只记着「谁登录了」,实际上数据库路由、定制化、语言、时区、加密、权限这几条线全部在 ...

Jeff-Tsai 发布于 2026-11-08 09:42 评论(0) 阅读(126)
0

Day 12:定义与数据缓存的跨节点失效

打开一张表单,框架要读的定义不只一份:FormSchema、TableSchema、FormLayout、ProgramSettings、LanguageResource,一份都不能少。这些定义上线后还是会改,但运行期间很少变更,这类数据最适合缓存。剩下的都是缓存自己的问题:哪些数据适合、切多细、放 ...

Jeff-Tsai 发布于 2026-11-07 08:53 评论(0) 阅读(23)
0

Day 11:数据访问层的连接、Transaction 与查询条件

Day 5 划过定义驱动那条路的边界:跨表关联一律单字段等值、接的一定是物理数据表。报表、统计、批量导入超出这个范围,SQL 就自己写,任何框架都得留这条路。问题出在交界处:「这一段我不做」跟「这一段你全部自己来」是两回事,而开一个可以塞任意 SQL 字符串的入口,等于把它们写成同一件事。代价不会当 ...

Jeff-Tsai 发布于 2026-11-06 10:43 评论(0) 阅读(147)
0

AScript之LINQ扩展

AScript是一个开源的C#动态脚本解析执行引擎,提供了LINQ脚本扩展功能。 IQueryable扩展 IEnumerable扩展 示例1: 1 var list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 2 var result = ...

rockey627 发布于 2026-11-05 22:32 评论(0) 阅读(36)
0

车载毫米波雷国内TOP10供应商技术路线、市场格局及发展趋势

前言 随着国内L2级辅助驾驶渗透率持续提升,以及新国标对自动紧急制动、车道保持等功能强制落地,车载毫米波雷达从高端选配快速转为新车标配,尤其是4D成像毫米波雷达进入规模化量产周期。毫米波雷达具备全天候、抗雨雪雾、远距离测速测距的独特优势,与摄像头、激光雷达形成感知融合,是智能驾驶硬件体系不可或缺的一 ...

似梦亦非梦 发布于 2026-11-05 16:48 评论(0) 阅读(35)
1

在浏览器端使用 JavaScript 将 Word 文档转为纯文本

导读:传统 Word 转文本大多依赖后端服务、Office COM 组件或者在线转换接口,存在部署成本高、文件外传、并发受限等问题。借助 WebAssembly 版本的文档处理库,我们可以完全在前端浏览器内完成 .docx 到 .txt 的转换,不需要后端中转,保障文档数据不出本地。本文基于 Rea ...

LAYONTHEGROUND 发布于 2026-11-05 14:15 评论(2) 阅读(196)
0

Day 10:多数据库支持:CRUD 与结构升级

「支持 SQL Server、PostgreSQL、MySQL、Oracle、SQLite」写在规格书上是一行字,写在框架里是一个必须先回答的问题:到底要替它们抽象什么。 两个方向都走不通: 想把各家能力都包起来 → 没有尽头,每包一项就等于替五家各补一次,补到最后每项都是半成品 只共用一个连接对象 ...

Jeff-Tsai 发布于 2026-11-05 09:44 评论(0) 阅读(190)
4

WPF应用熄屏后内存暴涨问题解决记录

1.背景 最近在负责开发和测试一个读取外部ZMQ数据并解包出图显示在界面上的.Net Framework 4.6.2 WPF应用,通过ZMQ接收上游数据,使用WriteableBitmap实现同一时刻多个图像的绘制和双击原图的展示功能。 应用运行在一台物理4CPU、300G+内存(不是硬盘空间)的某 ...

dellbeat 发布于 2026-11-04 16:48 评论(4) 阅读(396)
0

Day 9:数据与定义分家,表单不必各自建类型

一次请求走前端 → API → Business Object → Repository → 数据库,每一层都要拿到同一笔数据。多数系统在这里放的是自己写的类型:一张表一个 Entity、前后端各一份 DTO、中间再一层 Mapper 设置。 这套框架放的是两样东西:一个数据容器(DataSet), ...

Jeff-Tsai 发布于 2026-11-04 08:23 评论(0) 阅读(164)