一个拒绝过度设计的 .NET 快速开发框架:开箱即用,专注"干活"
前言
.NET 生态快速发展的背景下,越来越多开发希望找到一个既能快速上手,又不过度设计的后端框架。尤其是在中小型项目中,复杂的架构、层层封装的服务逻辑往往让开发效率大打折扣。
今天推荐一个轻量级、高效实用的自媒体内容管理系统。它不追求炫技式的"高大上",而是回归开发本质:用最少的代码,解决最实际的问题。
大 ...
【RabbitMQ】工作队列(Work Queues)与消息确认(Ack)
本章目标
理解工作队列(竞争消费者模式)的概念和适用场景。
掌握消息确认(Acknowledgment)机制,实现可靠的消息处理。
学习消息持久化(Durability),防止服务器重启导致消息丢失。
使用公平分发(Fair Dispatch)来优化多个消费者的工作效率。
一、理论部分
1. 工作队列(Work Queues / Task Queues)
在 ...
【RabbitMQ】核心模型简介,以及消息的生产与消费
本章学习目标
理解AMQP模型中的核心概念:Connection, Channel, Producer, Consumer, Queue。
创建一个.NET项目并添加RabbitMQ客户端库。
使用C#编写代码发送一条消息("Hello World")。
使用C#编写代码接收并处理这条消息。
一、理论部分
1. AMQP 0-9-1 核心模型简介
在编写代码前,我们需要理解几个核心概 ...
简单来讲讲C#中的锁
🔑 简单来讲讲C#中的锁
✨ 前言
今天来说说C#中的锁,锁在日常开发中还是很常用的,但是用的不得当,或者骚操作比较多那么就会导致死锁,从而导致系统崩溃。
后面我会出一系列文章,来讲讲C#里面的代码和技巧,通过不断的学习积累,以达到我的跳槽目标。
文章中有任何错误的地方都可以指出,博主也在不断的学习中~
📖 简述
...
使用Inno Setup打包安装程序exe流程
使用Inno Setup制作WPF开发的桌面应用程序流程
1.项目框架布局
项目目录:D:\Project\XenD101H\Tools,这个目录我将下载innosetup-6.2.2.exe 安装的程序放置这里,以及有几个脚本执行文件,最后输出RadarSensorConfigTool.exe,放置在D:\Project\XenD101H\Tools\Install\Output这个目录下
2.制作安装包流程:
2.1 下载in ...
EF Core 与 MySQL:日志和调试详解
本文将详细讲解EF Core与MySQL的日志和调试,分为三个部分:EF Core日志配置、MySQL日志查看以及使用调试工具分析查询性能。
1. 配置 EF Core 日志
基本日志配置
// 在DbContext配置中启用日志记录
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = "server= ...
国产化Excel开发组件Spire.XLS教程:C# 轻松将 DataSet 导出到 Excel
在 C# 开发中,DataSet 常用于管理内存中的数据,通常来源于数据库查询或系统集成过程。在很多情况下,你可能需要将 DataSet 导出为 Excel 文件——例如生成报表、与非开发人员共享结构化数据,或将记录归档以便后续参考。
E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文 ...
Runtime Async - 步入高性能异步时代
同步代码和异步代码
一般而言,代码可分为同步与异步两类。两者同样需要等待操作完成:同步会阻塞当前线程,直至操作结束后再继续执行后续逻辑;异步则不阻塞当前线程,而是在发起操作时预先注册完成后的处理逻辑,待操作完成时由操作本身或外部机制触发该逻辑。
于是这就带来一个问题,那就是同步代码和异步代码的写法是完 ...
EF Core 与 MySQL:事务和并发处理详解
本文将详细讲解EF Core与MySQL的事务和并发处理,分为三个部分:使用事务、处理并发冲突(乐观并发)以及悲观并发(MySQL中使用锁)。
使用事务在EF Core中,可以使用事务来确保一系列操作要么全部成功,要么全部失败。EF Core支持多种事务管理方式,包括自动事务(SaveChanges自动包装事务)和显式事务。
处 ...
Excel处理控件Aspose.Cells教程:如何将Excel区域转换为Python列表
在 Python 中处理 Excel 数据通常需要将特定的行和列提取为列表格式。将 Excel 范围转换为 Python 列表对于以下任务非常有用:
使用Pandas和NumPy进行数据分析
报告和 ETL 流程的自动化
与机器学习模型或 API 集成
在本教程中,我们将逐步学习如何借助Aspose.Cells在 Python 中将定义的 Excel 范围转换为列表。
Asp ...
WPF 通过 WriteableBitmap 实现 TAGC 低光增强效果算法
开始之前,必须感谢 只(挚)爱图像处理 - Imageshop 大佬的分享。本文将参阅 伊拉克团队的TAGC(低光增强效果)算法实现。 - Imageshop - 博客园 进行实现
原论文信息如下:
论文标题: Tuning adaptive gamma correction (TAGC) for enhancing images in low light
发表日期: 2025年07月
作者: Ghufran Alhamzawi, Alfoudi A ...
EF Core 与 MySQL:查询优化详解
本文将详细讲解EF Core与MySQL的查询优化,包括使用AsNoTracking提高查询性能,使用Include和ThenInclude进行贪婪加载,使用Select进行投影查询、原始SQL查询,使用索引优化查询,其他优化技巧如分页、批量操作和查询编译,性能监控和诊断工具的使用。
1. 使用 AsNoTracking 提高查询性能
基本用法
// 常规查询(会跟踪实 ...
文档处理控件Aspose.Words教程:在 C# 中将 Markdown 转换为 PDF
Markdown 被广泛用于使用纯文本语法创建格式化文本。许多开发人员喜欢用它来编写文档、注释和内容格式。然而,我们经常需要将Markdown文档生成专业的PDF文件。本文将学习如何借助Aspose.words for .NET,使用 C# 将 Markdown 转换为 PDF。
通过这种方法,您可以.md以编程方式将文件转换为高质量的 PDF 文档,从而可以控制 ...
EF Core 与 MySQL:迁移和关系配置详解
本文将详细讲解EF Core与MySQL的关系配置和迁移,包括一对一、一对多、多对多关系的配置,使用Fluent API进行关系配置,处理迁移中的常见问题,以及数据种子的方法。
1. EF Core 中的关系类型
Entity Framework Core 支持三种主要的关系类型:
一对一关系 (One-to-One)
一个实体实例只与另一个实体实例相关联。例如:一 ...
国产化PDF处理控件Spire.PDF教程:在 ASP.NET Core 中创建 PDF的分步指南
在 ASP.NET 应用程序中生成 PDF 是一个常见需求——无论是生成发票、报告、表单,还是导出动态内容。与其依赖复杂的 PDF API 或第三方打印驱动程序,不如使用 Spire.PDF for .NET,这是一款专业且轻量级的库,能够让开发人员以编程方式创建和操作 PDF 文档。
在本教程中,我们将演示如何在 ASP.NET Core Web&nbs ...
EF Core 与 MySQL:介绍与入门实操
简介
EF Core(Entity Framework Core)是Microsoft推出的开源跨平台ORM框架,支持SQL Server、SQLite、MySQL、PostgreSQL等主流数据库,并提供向NoSQL数据库(如Cosmos DB)的扩展能力。它通过DbContext管理实体与数据库的映射关系,提供LINQ查询、CRUD操作及数据库迁移功能,适用于微服务架构、Web API开发等场景。
核心 ...
【RabbitMQ】消息队列理论部分,另一种环境搭建Docker运行RabbitMQ
消息队列与RabbitMQ初探
本章学习目标
理解什么是消息队列以及它解决了什么核心问题。
了解RabbitMQ是什么及其在技术生态中的位置。
另一种方式在本地使用Docker快速搭建一个RabbitMQ服务。
熟悉RabbitMQ的管理控制台。
一、理论部分
1. 同步调用 vs. 异步消息
在传统的应用开发中,组件之间通常通过同步调用(如 ...
【EF Core】再谈普通实体关系与 Owned 关系的区别
在很多个世纪前,老周曾写过实体之间普通关系(一对一,一对多,多对多)与 Owned 关系的区别。不过,那次写得比较粗浅,逼格不够高,于是,老周厚着脸皮地决定重新写一下。
首先,为什么这次老周用原单词 Owned 呢,官方文档目前的翻译(怀疑是机器干的)为“从属”,这种说法与普通关系数据库中一对多、多对多等关系描述 ...
记一次 .NET 某跨境物流系统 内存暴涨分析
一:背景
1. 讲故事
分享了几篇崩溃,这一篇跟大家分享一例内存暴涨,训练营里有位学员朋友找到我,说他们的软件存在内存暴涨,让我帮忙看下怎么回事,dump也抓到了。
二:内存暴涨分析
1. 内存真的暴涨吗
一直都给训练营里的学员灌输一个思想,就是不要相信任何人说的话,而应该是以数据说话,由于是 linux dump,可以使用 ...
推荐一款线程or进程间数据同步解决方案
在实际开发中,数据同步非常重要,特别是跨线程或者进程之间数据交互的时候,如果不能进行数据同步管理,那各个线程或者进程之间就会产生数据错乱问题,比如A程序用的是更新之前的数据,B数据用的是更新之后的数据,这会造成很严重的后果。今天我们以一个简单的小例子,介绍一款线程or进程之间数据同步的解决方案,谨供学习 ...