刷新
记一次 .NET 某光电成像后端解析系统 内存暴涨分析

博主头像 一:背景 1. 讲故事 前些时间有位朋友找到我,说他们部署在linux上的系统内存占用比较高,领导让他找原因,由于自身的技术上限一直没找到,让我帮忙看下,让朋友通过 dotnet-dump 或者 procdump 从生产上抓一个下来,既然dump到手,那就进入分析环节啦。 二:内存暴涨分析 1. 为 ...

业务报表生成:通过 C# 将数据库导出为 PDF

博主头像 在企业应用开发中,将数据库查询结果导出为 PDF 格式是常见的报表需求。PDF 具备格式固定、跨平台兼容、便于归档分发等特性,非常适合用于业务数据的正式输出。本文介绍一种基于 Free Spire.XLS for .NET 免费库的实现方式,通过「数据库 → DataTable → Excel 工作 ...

记一次 .NET 某电力后台监控系统 内存暴涨分析

博主头像 一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的电力系统出现了内存暴涨的问题,让我帮忙看下怎么回事?由于不是训练营里的学员,所以这个分析能力还是有点门外汉,让这位朋友将dump丢给我,然后我们上windbg分析。 二:内存暴涨分析 1. 为什么会暴涨 要想知道为什么会涨,很简单,用老套 ...

C# PDF 页码添加:教你如何快速为 PDF 每页编号

博主头像 一、背景与需求 在文档管理场景中,为PDF文件添加页码是一项常见需求。无论是财务报表、项目文档还是合同协议,规范的页码都能显著提升文档的可读性和专业性。手动为每页添加页码不仅效率低下,还容易出错。对于 .NET 开发者而言,利用 C# 实现 PDF 页码的自动化插入,是提升文档处理效率的有效途径。 ...

C# 解析 Word 超链接:字段识别、屏幕提示读取

博主头像 在文档批量处理、内容审计、数据抽取等开发场景中,经常需要从 Word 文档中提取所有超链接信息(包括链接地址、显示文本、链接类型等)。本文基于 Free Spire.Doc for .NET 免费组件,介绍一种轻量、代码量少的实现方式,重点讲解核心逻辑与代码实现,供.NET开发者参考。 一、方案概述 ...

Zenith.NET 开发札记:把 .NET 图形 API 推向现代 RHI

博主头像 Zenith.NET 最近做了一轮比较大的 RHI 重构。它不是一次普通的 API 改名,也不是单纯整理代码,而是把整个图形抽象层从早期“更容易上手的封装”,往更现代、更贴近 DirectX 12 / Vulkan / Metal 的底层模型推进。 这轮重构的重点,是新版引入了哪些能力、为什么要做 ...

基于AScript的SQL脚本语言发布啦!

说到执行动态脚本,大多使用Lua、Python、JS等语言,为什么没有SQL动态脚本语言呢?现在它来了! AScript是一个开源的C#动态脚本解析执行引擎,支持扩展多种脚本语言,2026年6月8日正式发布了SQL脚本语言AScript.Lang.Sql,快来试试吧! 一、介绍 支持SqlServe ...

AScript之事件处理脚本

AScript是一个开源的C#动态脚本解析执行引擎,脚本中支持定义事件处理。 一、Lambda委托 1 var s = @" 2 var p = new Person('tom', 20); 3 p.Saying += (ss,ee)=>{ 4 (ss as Person).Age+=1; 5 } ...

记一次 .NET 某注塑模具系统 CPU爆高分析

博主头像 一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的系统出现了CPU爆高,找不到原因,让我帮忙看一下,dump也拿出来了,接下来上windbg分析。 二:CPU爆高分析 1. 真的爆高吗 dump的分析第一原则就是相信数据,先使用 !tp 观察cpu使用率。 0:031> !tp Usin ...

MonkeyCode写消息队列:从零实现高可用异步架构

博主头像 同步调用是微服务耦合的根源。消息队列解耦了服务,也救了你的响应时间。用MonkeyCode,从选型到实现一把梭。 为什么需要消息队列? 一个典型的电商下单流程,同步调用长这样: # 同步调用:创建订单要等所有下游返回 @app.post("/orders") async def create_ord ...

[翻译] 为什么我要用 C# 构建数据库引擎

博主头像 当我告诉别人我正在用 C# 构建一个 **ACID 数据库引擎**时,第一反应总是如出一辙:“那 GC(垃圾回收)停顿怎么办?” 这是一个合情合理的问题。几乎没有人会在 .NET 中构建高性能数据库引擎。人们普遍认为,这类软件必须使用 C、C++ 或 Rust 编写——托管语言基本上被排除在“微秒... ...

<123···7>