排序
【ASP.NET CORE】2.ORM仓储完善 添加Swagger
仓储 当插入数据时string类型主键的ID 为空时自动生成 //BaseRepository.cs public async Task<bool> AddAsync(T entity) { if (typeof(TKey) == typeof(string)) { var currentId = entity....
【ONNX】HQServer集成ONNX Runtime通用推理封装
前言 在图像识别、文本分类、目标检测和推荐评分等场景中,模型训练通常不应该和 Web API 运行在同一个业务层里。训练完成后,把模型导出成 ONNX,再由服务端加载并执行推理,是一种比较常见的...
【.NET】System.Text.Json 源生成器:启动快、分配少的序列化
前言 System.Text.Json 从 .NET 6 开始提供源生成器(source generation)模式:编译时生成序列化代码,运行时不再做反射。对启动时间敏感的 CLI 工具、AOT 编译应用和高吞吐 API 服务都有明显...
【C#教程】RabbitMQ通知订阅模式实现
介绍 RabbitMQ 是一个开源的消息队列中间件,基于 Erlang 语言开发,实现了 AMQP 协议。它通过异步消息传递解耦生产者和消费者,支持可靠的消息持久化、灵活的路由策略(如 direct、topic、fano...
【ASP.NET CORE】1. 基础搭建
架构 Application 主要编写WebApi 依赖Service层 提供一个基类,自动路由API using Microsoft.AspNetCore.Mvc; namespace WebApplication.Application.Base; [ApiController] [Route('api/[cont...
【ASP.NET CORE】10.RabbitMQ消息队列底层封装
前言 在企业级系统里,RabbitMQ 常用于异步通知、日志审计、业务解耦、任务拆分和跨系统事件传递。如果每个业务模块都自己创建连接、Channel、声明队列、序列化消息和处理 ACK,后期会出现重复...
【C#】回调函数
定义 回调函数是指在某个操作完成或事件发生时,系统调用预先注册的函数来处理相应的逻辑。通过委托的机制,可以将一个函数作为参数传递给另一个函数,使得后者在适当的时机调用传入的函数。这...
【.NET】ThreadPool 与异步编程:线程池饥饿的排查和预防
前言 异步编程在 .NET 里已经普及多年,但「接口偶发变慢、CPU 不高、线程数却持续上涨」这类问题依然常见,十有八九和线程池饥饿有关。本文把线程池的工作方式、饥饿的成因、常见的阻塞代码模...
【.NET】IMemoryCache 进阶:过期策略、缓存击穿与内存上限
前言 进程内缓存是每个后端项目迟早要面对的问题:热数据重复查库、配置项频繁读取、外部接口结果短期复用,都可以用内存缓存解决。.NET 自带的 IMemoryCache 开箱即用,但缓存击穿、过期策略和...
【ASP.NET CORE】3.ORM事务管理
介绍 本次完善ORM仓储层的事务管理,链式调用开启/关闭事务 支持配置数据库隔离级别。 实现 1.异步流隔离 private static readonly AsyncLocal<bool> _withoutTransaction = new AsyncLocal&...




