.net9 从零搭建框架共13篇
【ASP.NET CORE】12.RabbitMQ死信队列封装-涣清博客

【ASP.NET CORE】12.RabbitMQ死信队列封装

前言 上一篇我们已经把 RabbitMQ 的发布、消费、手动 Ack/Nack 和消费失败处理补进了 HQServer。正常业务里,仅仅把消息消费失败后 BasicNackAsync 掉还不够,因为失败消息如果直接丢弃,问题排...
涣清的头像-涣清博客涣清17天前
0455
【ASP.NET CORE】11.HQServer基础架构优化-涣清博客

【ASP.NET CORE】11.HQServer基础架构优化

前言 前面几篇文章已经把 JWT、Quartz.NET、RabbitMQ 等基础能力陆续接入到了 HQServer。功能能跑起来只是第一步,随着模块越来越多,如果继续把注册、管道、中间件、数据库初始化都堆在 Progra...
涣清的头像-涣清博客涣清17天前
05411
【ASP.NET CORE】9.Quartz.NET定时任务调度优化-涣清博客

【ASP.NET CORE】9.Quartz.NET定时任务调度优化

介绍 上一篇我们已经在 HQServer 中完成了 Quartz.NET 定时任务的基础集成,把配置读取、任务定义、任务注册和 HostedService 启动统一封装到了 HQ.Common 层。 第一版可以正常使用,但它更偏向...
涣清的头像-涣清博客涣清17天前
05012
【ASP.NET CORE】10.RabbitMQ消息队列底层封装-涣清博客

【ASP.NET CORE】10.RabbitMQ消息队列底层封装

前言 在企业级系统里,RabbitMQ 常用于异步通知、日志审计、业务解耦、任务拆分和跨系统事件传递。如果每个业务模块都自己创建连接、Channel、声明队列、序列化消息和处理 ACK,后期会出现重复...
涣清的头像-涣清博客涣清17天前
0366
【ASP.NET CORE】8.Quartz.NET定时任务调度-涣清博客

【ASP.NET CORE】8.Quartz.NET定时任务调度

在日常开发中,定时任务是常见需求。本文基于 HQServer 集成 Quartz.NET,将配置读取、任务定义、任务注册、托管服务统一封装到 Common 层,开发者只需新增任务类和配置规则即可快速实现定时任...
涣清的头像-涣清博客涣清23天前
0579
【ASP.NET CORE】7.JWT认证授权与策略权限管理-涣清博客

【ASP.NET CORE】7.JWT认证授权与策略权限管理

本次完善框架的 JWT 认证授权机制,将 Token 配置、Token 生成、当前登录用户上下文、接口权限注解、策略授权统一封装到 Common 层。
涣清的头像-涣清博客涣清23天前
05614
【ASP.NET CORE】6.SignalR实现WebSocket-涣清博客

【ASP.NET CORE】6.SignalR实现WebSocket

介绍 SignalR 是一款用于快速实现服务端与客户端实时双向通信的开发框架,能够自动适配 WebSocket、服务器发送事件、长轮询等底层传输方式,极大简化了在线消息推送、实时数据同步等场景的开发...
涣清的头像-涣清博客涣清1个月前
04010
【ASP.NET CORE】5.HttpClientHelper请求封装类-涣清博客

【ASP.NET CORE】5.HttpClientHelper请求封装类

代码 HttpClientHelper using Microsoft.Extensions.Logging; using System.Diagnostics; using System.Net; using System.Net.Http.Headers; using System.Text; using System.Text.Json; name...
涣清的头像-涣清博客涣清1个月前
05911
【ASP.NET CORE】4.Serilog日志框架搭建-涣清博客

【ASP.NET CORE】4.Serilog日志框架搭建

介绍 Serilog 是 .NET 平台中非常流行且强大的结构化日志库,其最大特点是“结构化日志记录(Structured Logging)”,支持通过键值对记录丰富的上下文信息,并且拥有强大的 Sink 插件系统...
涣清的头像-涣清博客涣清1个月前
0449
【ASP.NET CORE】3.ORM事务管理-涣清博客

【ASP.NET CORE】3.ORM事务管理

介绍 本次完善ORM仓储层的事务管理,链式调用开启/关闭事务 支持配置数据库隔离级别。 实现 1.异步流隔离 private static readonly AsyncLocal<bool> _withoutTransaction = new AsyncLocal&...
涣清的头像-涣清博客涣清1个月前
03114