在企业应用开发中,将数据库查询结果导出为 PDF 格式是常见的报表需求。PDF 具备格式固定、跨平台兼容、便于归档分发等特性,非常适合用于业务数据的正式输出。本文介绍一种基于 Free Spire.XLS for .NET 免费库的实现方式,通过「数据库 → DataTable → Excel 工作 ...
一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的电力系统出现了内存暴涨的问题,让我帮忙看下怎么回事?由于不是训练营里的学员,所以这个分析能力还是有点门外汉,让这位朋友将dump丢给我,然后我们上windbg分析。 二:内存暴涨分析 1. 为什么会暴涨 要想知道为什么会涨,很简单,用老套 ...
19. 性能优化实战:零拷贝与内存优化 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:掌握 .NET 高性能编程的核心技术——ValueTask、Span、M ...
当大伙伴们看到标题后,是不是在怀疑老周在灌水?非也,老周向来只会造水,从来不灌水。哪怕写的主题和别人一样,但水的内容也肯定与他人不同。这是老周特色,熟悉老周的大伙伴都知道的。 哦,顺便提一下,有人投诉老周写的东西没用,根本不能在项目中使用。项目中用什么,怎么用是你的项目经验和实力问题,老周可不负这个 ...
一、背景与需求 在文档管理场景中,为PDF文件添加页码是一项常见需求。无论是财务报表、项目文档还是合同协议,规范的页码都能显著提升文档的可读性和专业性。手动为每页添加页码不仅效率低下,还容易出错。对于 .NET 开发者而言,利用 C# 实现 PDF 页码的自动化插入,是提升文档处理效率的有效途径。 ...
在实际应用开发中,图像是程序不可获取的一部分,合理的利用图像不仅可以点缀美化软件,还可以起到事半功倍的效果,今天我们以一些简单的小例子,简述基于.NET的Windows窗体编程中图像控件的相关应用,仅供学习分享使用,如有不足之处,还请指正。 ...
18. 限流与并发控制:保护系统的第一道防线 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:深入理解限流算法的工作原理,掌握 ASP.NET Core 限流中 ...
最近排查了一个很隐蔽的生产 bug:一个 CSV 导出接口,部分订单的 InvoiceAmount(发票金额)导出成了 0,但数据库里这些订单明明有非 0 的付款记录。而且很邪门——带关键字 search 的导出没问题,全量导出才复现。 查到最后,根因是 EF Core 的 拆分查询(AsSplit ...
.NET 数组的上限 这些年经常看到有人抱怨 .NET 数组的最大长度。 在 .NET 里,数组、集合、Span 以及很多相关 API 都是围绕 32 位长度和索引设计的。GitHub 上曾经有一个很长的 issue 讨论 64 位数组支持,但最后以 "won't fix" 关闭,因为这件事会牵涉到 ...
本文记录的是我的思考内容,本篇是我从 2023 年思考到现在的内容。我感觉我大概对整个方向清晰了,于是记录了本文,期望能给大家带来一些灵感 ...
本文将记录我实验千问 Qwen 3.7 Plus 在 Visual Studio Copilot 里面,根据视觉稿编写 WPF 应用的 XAML 代码的能力 ...
在实际应用开发中,有时候为了美观或者节约UI空间,经常见到有些控件只有图标,没有文字说明,当用户鼠标放在图标控件上时,才显示相应的文本提示(Tips),或者当需要时才显示的一种控件,今天以一些简单的小例子,简述在基于.NET的Windows窗体编程之WinForms中提示控件的常见用法,仅供学习分享... ...
DeleteBehavior枚举(位于 Microsoft.EntityFrameworkCore 命名空间)所定义的数据删除行为是争对存在相对关系的实体来说的。这个和数据库中表与表之间的关系一致。数据表之间是通过列引用实现的。假设 A 依赖 B,那么 A 中会存在一列或多列去引用 B 中的一列或多 ...
拒绝 WPF 原生 Canvas 的性能雪崩与缩放形变!本文硬核分享如何基于跨平台高性能图形库 SkiaSharp 独立重构工业级 AI 标注画布核心 SkiImageManager。文章深入拆解了如何利用 SKFilterMode.Nearest 邻近像素采样确保千万级像素裸图在极端放大下的真实判... ...
拒绝 RPC 与 JSON 总线!本文硬核分享如何利用微软最新 CSnakes.Runtime 实现 C# WPF 与进程内嵌入式 Python 的深度互操作。通过指针级 AsSpan2D ...
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我写了如下代码: public sealed class Route { [ThreadStatic] public static Int64 MaxConc ...
在文档批量处理、内容审计、数据抽取等开发场景中,经常需要从 Word 文档中提取所有超链接信息(包括链接地址、显示文本、链接类型等)。本文基于 Free Spire.Doc for .NET 免费组件,介绍一种轻量、代码量少的实现方式,重点讲解核心逻辑与代码实现,供.NET开发者参考。 一、方案概述 ...
在软件开发中,有时候需要收集日期或者时间等内容,这时通常会用到时间控件,今天我们以一些简单的小例子,简述基于.NET的Windows窗体编程中时间控件,进度条,定时器,BackgroundWorker的相关应用,仅供学习分享使用,如有不足之处,还请指正。 ...
随着 GitHub Copilot 订阅策略发现变化,再叠加上国产 DeepSeek 大降价与 GLM 5.2 发力。默认 GitHub Copilot 提供的模型已经不香了,也不够用了。本文将和大家介绍如何使用 OllamaHub 对接国内的 DeepSeek 模型。相信看完本文之后,大家也自然地... ...
本文介绍一个基于 .NET WPF 的端口检测器工具,讲解其核心的端口检测原理、如何通过 Windows API 查询端口占用进程,以及自动查找可用端口的实现方法。 ...