- 博客(41)
- 收藏
- 关注
原创 API 版本控制:使用 ABP vNext 实现版本化 API 系统
ABP vNext 基于 ASP.NET Core 的 API 版本化机制,支持 URL Segment、QueryString、Header 三种方式读取版本。通过 AddAbpApiVersioning 配置默认版本、路由策略,使用 [ApiVersion] 和 MapToApiVersion 管理多版本接口,再结合 Swagger 分组生成多版本文档与客户端代理,实现向后兼容与平滑演进。
2025-06-02 17:44:02
288
原创 健康检查:在 .NET 微服务模板中优雅配置 Health Checks
默认情况下,只会返回 HTTP 200 和简单的“Healthy/Unhealthy”文本。通常我们希望输出更丰富的 JSON,并根据总体健康状态设置 HTTP 状态码,还要对异常进行日志告警。// 将 Health Checks 映射到 /health-status app . MapHealthChecks("/health-status" , new HealthCheckOptions {// 允许在端点调用失败时返回 503 ResultStatusCodes = {
2025-06-01 23:57:14
912
原创 在 ABP VNext 中集成 Serilog:打造可观测、结构化日志系统
本文介绍如何在 ABP VNext 中集成 Serilog,实现可观测、结构化日志。涵盖 NuGet 包安装、appsettings.json 配置(Console/File/Seq/Elasticsearch/Loki Sink)、Program.cs 初始化、UseAbpSerilogEnrichers 注入上下文,及对接 Seq、ELK、Grafana Loki 实战示例,帮助读者快速搭建稳定高效的日志体系。
2025-05-31 22:19:04
599
原创 自动过滤:用 AutoFilterer 实现高性能动态查询
本博客介绍如何在 .NET Web API 中使用 AutoFilterer,通过属性驱动的 DTO 自动生成 LINQ 表达式,实现动态查询过滤,并与 Swagger/OpenAPI 无缝集成。内容涵盖项目依赖安装、服务注册、实体与过滤 DTO 定义、Controller 实现(分页、动态排序、缓存与异常处理)、种子数据初始化与单元测试示例,并配有流程图,帮助快速构建高性能、易维护、可测试的 API 查询系统。
2025-05-30 22:02:55
798
原创 ABP 框架集成 EasyAbp.Abp.GraphQL 构建高性能 GraphQL API
本文阐述在ABP vNext框架中集成EasyAbp.Abp.GraphQL模块构建生产级GraphQL服务的实施方案。针对REST API在前端个性化查询与数据聚合场景的局限性,通过GraphQL实现灵活数据获取。核心功能包含:集成ABP授权系统实现细粒度权限控制,采用DataLoader机制优化数据库查询批处理,结合Redis缓存提升响应性能,运用FluentValidation进行参数校验,配置请求限流保障系统稳定性。实施过程重点包括:模块注册与依赖注入配置,禁用Introspection查询防止信息
2025-05-29 23:17:13
854
原创 ABP VNext + CRDT 打造实时协同编辑
本文介绍基于ABP VNext与CRDT技术构建实时协同编辑器的解决方案。系统采用Yjs CRDT库实现无锁冲突合并,结合SignalR实现毫秒级同步,支持Redis缓存(TTL=1h)和PostgreSQL持久化(10秒快照)。架构包含客户端(Monaco+Yjs)和服务端(ABP VNext)组件,通过JWT鉴权、速率限制和熔断机制保障安全性。核心功能包含文档状态管理、实时同步和历史版本恢复,为多用户协作场景提供企业级支持。
2025-05-28 20:30:57
748
原创 ABP VNext + Apache Flink 实时流计算:打造高可用“交易风控”系统
本文介绍如何基于 ABP VNext、CAP+Outbox 与 Kafka 实现可靠事件发布,借助 Apache Flink CEP 引擎完成 Exactly-Once 的复杂交易模式识别,再通过 Redis Stream+SignalR 实现多通道实时告警,并详细给出生产级部署、安全、监控、日志和自动化测试配置示例。
2025-05-27 20:46:02
1062
原创 ABP VNext + Elsa Workflow:实现可视化流程引擎
本文介绍了如何在ABP VNext框架中集成Elsa Workflow实现可视化流程引擎。通过NuGet包安装核心组件,在ABP Module配置Elsa服务,包括持久化(PostgreSQL)、内置活动和自定义Activity(如SendNotification)。流程定义采用JSON DSL描述,支持节点连接。文章还涵盖EF Core迁移、审计日志关联及Prometheus监控集成,提供完整的审批流程解决方案,适用于请假、报销等跨部门业务场景。
2025-05-26 20:46:17
942
原创 ABP VNext + Webhook:订阅与异步回调
ABP VNext框架提供了一套完整的Webhook处理方案,核心功能包括: 1️⃣ 安全验证:通过HMAC签名和动态密钥管理防止伪造请求 2️⃣ 幂等控制:结合分布式锁和缓存实现事件唯一处理 3️⃣ 多厂商支持:策略模式统一不同支付平台回调接口 4️⃣ 重试机制:后台任务自动处理失败请求 5️⃣ 监控运维:集成Prometheus指标和Grafana看板方案采用模块化设计,包含签名验证服务、幂等处理服务和策略工厂等核心组件,有效解决了Webhook场景下的安全防护、重复处理和系统可观测性问题。
2025-05-25 19:34:37
1475
原创 ABP VNext + Orleans:Actor 模型下的分布式状态管理最佳实践
本文介绍基于ABP VNext与Orleans构建分布式状态管理的最佳实践。Orleans的虚拟Actor模型提供自动激活、线程安全和多存储支持,简化分布式开发。方案采用Redis+SQL Server混合存储,集成Prometheus监控和SignalR实时推送,支持Kubernetes部署与灰度发布。通过玩家会话状态案例展示Grain实现,并详细说明开发/生产环境配置差异,包括本地内存存储与生产级Redis集群的切换策略,为云原生应用提供高可用状态管理方案。
2025-05-24 20:09:09
1424
原创 在 ABP VNext 中集成 OpenCvSharp:构建高可用图像灰度、压缩与格式转换服务
本文介绍了如何在 ABP VNext 框架中集成 OpenCvSharp,构建一个高可用的图像处理服务,支持灰度化、压缩和格式转换功能。文章详细阐述了技术背景、功能概览、依赖安装、配置选项、服务接口定义及实现。通过 ABP VNext 的模块化和依赖注入特性,结合 OpenCvSharp 的强大图像处理能力,开发者可以快速构建一个结构清晰、可扩展且高可用的图像处理微服务。文章还提供了配置化、异常处理、日志记录、健康检查等技术要点,确保服务的稳定性和可维护性。
2025-05-23 20:14:34
1092
原创 ABP VNext + Elasticsearch 实战:微服务中的深度搜索与数据分析
ABP VNext整合Elasticsearch有效应对微服务架构下的数据分散与跨库查询难题,构建高效搜索分析平台。通过事件驱动架构实现EF Core到ES的数据同步,保障数据一致性。索引建模核心包含:优化文档结构设计、动态字段模板配置、IK智能分词器应用及索引生命周期管理(ILM),确保数据高效存储与快速检索。内置版本冲突控制机制通过乐观并发策略维护数据完整性。该架构支持复杂搜索条件、聚合统计、实时日志分析等功能,显著提升查询性能与系统扩展性,为业务提供低延迟、高并发的数据服务能力。
2025-05-22 18:22:42
991
原创 集成 OpenTelemetry + Grafana:实现 ABP VNext 的全链路可观测性
如何在 ABP VNext 中,通过 PreConfigureServices 统一注册 OpenTelemetry Tracing、Metrics 与 Logging,定制 ActivitySource 与 Meter,部署 OTLP Collector、Prometheus、Grafana,并暴露 /metrics 端点。提供 Docker Compose 与示例配置、一键启动脚本及 Grafana Dashboard 与告警示例,实现高可用、安全认证与快速复现的全链路监控方案。
2025-05-21 17:10:04
729
原创 基于 ABP vNext + CQRS + MediatR 构建高可用与高性能微服务系统:从架构设计到落地实战
本文介绍了如何基于 ABP vNext、CQRS 和 MediatR 构建高可用与高性能的微服务系统。文章首先概述了模块结构,包括 Domain、Application、HttpApi 和 DbMigrator 等模块的功能。接着,详细展示了各模块的注册代码示例,如 DomainModule、ApplicationModule、HttpApiModule 和 DbMigratorModule 的配置。
2025-05-20 18:20:59
987
原创 使用 ABP vNext 集成 MinIO 构建高可用 BLOB 存储服务
> 本文基于 ABP vNext + MinIO 的对象存储集成实践,系统讲解从 MinIO 部署、桶创建、ABP 集成、上传 API、安全校验、预签名访问,到测试、扩展及多租户支持的全过程。目标是构建一套可复现、可维护、可扩展的企业级文件存储服务。
2025-05-19 21:21:23
731
原创 ABP vNext 多租户系统实现登录页自定义 Logo 的最佳实践
ABP vNext 多租户系统实现登录页自定义 Logo 的最佳实践包括以下步骤:首先,通过扩展租户实体添加 Logo 字段,确保在 EF Core 迁移中包含新字段。其次,利用 Blob 模块上传并持久化租户 Logo,封装至 Application Service 进行文件校验和存储。最后,在登录页动态加载租户 Logo,通过 TenantUiQueryService 获取 Logo URL 并渲染。整个过程结合 ABP 的实体扩展和 Blob 模块,支持多租户结构,推荐搭配 CI/CD 自动迁移。
2025-05-18 16:50:50
830
原创 ABP vNext 多租户开发实战指南
ABP vNext 多租户开发实战指南介绍了在.NET 8.0和ABP vNext 8.1.5环境下实现多租户架构的方法。多租户是一种软件架构模式,允许一个应用程序为多个租户提供服务,同时隔离各自的数据。常见的隔离方式包括单库共享、单库分表和多数据库。ABP vNext 提供了核心机制来支持多租户,包括Tenant实体、ICurrentTenant接口、ITenantResolveContributor自定义解析器和IDataFilter自动过滤。
2025-05-17 20:34:48
778
原创 Redis + ABP vNext 构建分布式高可用缓存架构
本文介绍如何结合 Redis 与 ABP vNext 构建分布式高可用缓存系统:部署 Sentinel/Cluster 集群及 Program.cs 启动流程;设计本地 IMemoryCache + IDistributedCache 二级缓存及空值占位;示例分布式锁与缓存击穿保护(含 Polly 重试);缓存失效同步(Pub/Sub/分布式事件总线);性能调优(OpenTelemetry + Grafana);以及完整单元测试示例。
2025-05-16 19:54:19
1477
原创 基于EtherCAT与ABP vNext 构建高可用、高性能的工业自动化平台
本文介绍了基于EtherCAT与ABP vNext构建高可用、高性能工业自动化平台的方案。项目采用EtherCAT作为实时通信协议,结合ABP vNext框架实现服务端管理,支持对EtherCAT网络节点的高效管理与数据交互。技术栈包括PostgreSQL、Redis、RabbitMQ、Vue 3等,系统架构分为Device Daemon、ABP服务端和前端UI三大模块。
2025-05-15 19:53:19
746
原创 OPC UA + ABP vNext 企业级实战:高可用数据采集框架指南
本文介绍了如何将 OPC UA 与 ABP vNext 集成,构建一个高可用、企业级的数据采集框架。文章从系统架构入手,详细说明了配置管理、安全封装、作业调度、分布式缓存、健康检查、跟踪监控等关键功能。通过 Polly 实现重试机制,确保数据采集的可靠性,并利用 OpenTelemetry 进行系统跟踪,提升可观测性。
2025-05-14 17:08:25
1386
原创 【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全流程)
本文基于 ABP vNext 框架,构建了一个可配置、线程安全、支持连接池、健康检查、熔断与重试机制的西门子 S7 协议工业数据采集,适用于实际生产环境的自动化控制与工业物联网系统。
2025-05-13 19:43:53
1120
原创 基于 ABP vNext 框架实现高可用高性能的 Modbus 通信网关
本文介绍了如何基于 ABP vNext 框架实现一个高可用、高性能的 Modbus 通信网关。Modbus 是工业自动化和物联网系统中广泛使用的通信协议,而 ABP vNext 作为一个现代化的 .NET 框架,具备构建中大型服务端系统的能力。文章详细阐述了系统架构设计,包括设备层、API 层以及异步连接池、缓存、策略引擎、链路追踪和指标导出等核心组件。
2025-05-12 16:14:15
802
原创 基于 PostgreSQL 的 ABP vNext + ShardingCore 分库分表实战
本文介绍了如何基于 PostgreSQL 数据库,结合 ABP vNext 框架和 ShardingCore 中间件,实现分库分表的高性能解决方案。随着数据量的增长,单表性能瓶颈和存储压力成为问题,分库分表成为解决大数据、高并发场景的有效手段。文章详细介绍了技术选型,包括 ABP vNext、EF Core、PostgreSQL、ShardingCore 等,并提供了 Docker Compose 环境配置、分表初始化脚本、appsettings.json 样板以及 NuGet 包安装步骤。
2025-05-11 22:40:54
1124
原创 结合 ECharts / Ant Design Blazor 构建高性能实时仪表盘
本文介绍了如何结合 ECharts 和 Ant Design Blazor 构建高性能的实时数据仪表盘系统。通过使用 ECharts 实现数据可视化、Ant Design Blazor 提供现代化 UI 组件,以及 SignalR 实现实时数据推送,系统能够支持自动重连、节流更新和高性能渲染。文章详细描述了系统架构、项目配置、数据模型设计及后台数据推送服务的实现,帮助开发者在物联网、金融风控等场景中快速构建实时监控仪表盘。
2025-05-10 22:35:39
863
原创 ABP vNext + EF Core 实战性能调优指南
本文围绕 ABP vNext 框架下 EF Core 的实战性能调优展开,依次介绍了只读查询的 AsNoTracking、精准投影及高效分页,Scoped 生命周期管理,EFCore.BulkExtensions 批量事务控制,本地与分布式缓存双层策略,SQL 日志与慢查分析,以及 Prometheus + Grafana 性能监控与告警,助力开发者快速定位瓶颈、提升应用吞吐并保障稳定运行。
2025-05-09 22:09:29
1510
原创 ABP vNext + gRPC 实现服务间高速通信
在“电商限时秒杀”、“订单链路跟踪”或“实时监控”等高并发场景下,传统 REST 通信方式由于 JSON 序列化体积大、缺乏双向流、无法持久连接等问题,导致响应延迟高、调用不稳定。下面先来看看为什么要在这些场景下使用 gRPC。gRPC 基于 Protobuf 二进制协议、支持 HTTP/2 长连接、双向流和强类型校验,是替代 REST 的理想选择。
2025-05-08 23:21:38
871
原创 ABP vNext + Dapr 实现云原生微服务治理
在构建现代微服务架构时,如何实现高可用、可观测且易扩展的服务治理?本篇技术博客基于 ABP vNext + Dapr,手把手带你搭建一个完整的云原生微服务应用。内容涵盖 Dapr 配置组件、ABP 模块化集成、OpenTelemetry 追踪、Serilog 日志聚合以及 Docker Compose 一键部署,附带架构图与 YAML 示例,真正实现「零歧义、一键复现」的实战开发体验。适合 .NET 后端工程师、微服务架构师快速上手与项目落地!
2025-05-08 22:27:47
1175
原创 ABP vNext 集成高性能、高可靠 MQTT 服务器实战
🛰️ MQTT 是构建 IoT 系统通信的高效协议🏗️ ABP vNext 提供了完备的模块化与扩展支持🧱 配置消息中间件与权限系统可提升系统鲁棒性。
2025-05-07 22:25:10
952
原创 ABP vNext + Hangfire:生产级定时任务与调度实践指南
本文系统讲解了如何在 ABP vNext 中集成 Hangfire,实现生产级定时任务调度,涵盖 PostgreSQL 存储、任务注册、队列隔离、Dashboard 授权、Prometheus 监控、OpenTelemetry 接入等关键环节,附完整代码与最佳实践,适用于企业级应用场景。
2025-05-06 23:29:43
819
原创 从单体到微服务:基于 ABP vNext 模块化设计的演进之路
本文采用 ABP vNext 框架,实现了从单体到微服务的优雅转换,合理分布模块,支持分布式事务、日志和监控。
2025-05-05 22:11:19
1932
原创 ML.NET 实战:从数据到容器化部署的全流程二分类系统模板
本教程基于 UCI Adult 数据集,从数据清洗、TextLoader 映射、特征工程(OneHot 编码+归一化)、SDCA 模型训练与评估、ROC/PR 可视化、AutoML 调优,到 ASP.NET 异常中间件+Swagger 接入、Docker 多阶段构建、GitHub Actions+Azure CI/CD、Application Insights 监控与模型版本管理,提供一站式 ML.NET 企业级二分类系统模板。
2025-05-04 23:21:57
738
原创 ABP vNext 集成 CAP + RabbitMQ 实现可靠事件总线
CAP(Github 仓库RabbitMQ/Kafka 作为消息队列PostgreSQL/SQLServer 等作为持久化存储消息失败重试机制与 ASP.NET Core 完美集成在 ABP vNext 中使用 CAP,可作为分布式事件总线,提升服务间通信稳定性。ABP 与 CAP 集成后,可快速构建事件驱动架构。推荐将事件模型封装成接口,提升可维护性。可结合实现更抽象的事件通信。
2025-05-03 23:58:43
1312
原创 深入实战:在 ABP vNext 中使用 SignalR 实现高性能实时消息推送
SignalR 是 ASP.NET Core 实现实时通信的强大工具在 ABP vNext 中无需侵入式集成即可启用通过 Redis、限流、分组等手段可构建高性能分布式推送系统可与 ABP 通知中心、身份系统结合,打造完整的用户消息服务实施过程中请关注中间件顺序、安全凭证、异常捕获与日志,确保系统稳定性。
2025-05-03 22:01:56
495
原创 在 ABP vNext 中优雅使用工作单元(Unit of Work)
ABP vNext 的工作单元机制为事务控制提供了极大便利。✅写操作使用自动事务;✅复杂调用用显式处理;✅读操作禁用事务提升性能;✅事件应在事务后发送以保持一致性;✅后台任务要显式启用事务。🧠 合理使用工作单元不仅提高代码质量,还能提升系统稳定性与扩展性。
2025-05-02 23:44:38
1091
原创 在 ABP vNext中优雅集成 Dapper
在 ABP vNext 项目中,通过封装 DapperHelper 实现对 Dapper 的统一集成,可优雅支持高性能原生 SQL 查询,包含事务控制、多结果集、分页查询等特性,并与 ABP 的依赖注入、UnitOfWork 完美兼容,是构建高性能查询辅助组件的理想方式。
2025-05-02 17:54:43
395
原创 .NET 高性能数据处理实战:Span、Memory 与 ArrayPool 全面解析
Span<T>Memory<T>与是 .NET 中实现高性能数据处理的三件法宝。通过理解其内存模型与使用边界,我们可以轻松构建出低 GC 压力、响应更快的现代服务系统。
2025-05-01 03:46:59
919
原创 【实战】高性能 Dapper 帮助类封装(MySQL 版 含异步、事务、批量、流式查询)
通过本篇文章,你不仅掌握了如何高效封装一个面向 MySQL 的 DapperHelper,还学到了如何通过异步、事务、流式等机制优化数据访问层性能。希望本文对你构建企业级高性能数据库层有所启发!
2025-05-01 02:36:12
626
原创 基于 Dapper + FastMember 实现的 SQL Server 数据访问工具类
通过帮助类,我们可以极大地简化和标准化项目中的数据访问逻辑,同时借助FastMember实现对批量操作的性能提升。它既保持了 Dapper 的轻量高性能,又扩展了易用性与工程化能力,是企业级 .NET 项目中不可多得的数据访问组件。
2025-04-30 23:59:43
288
原创 基于Dapper打造高性能PostgreSQL异步访问封装(DapperHelper PostgerSQL 版)
Dapper:定位于极致性能的微型ORM,直接将SQL查询结果映射成实体。PostgreSQL:一款免费、开源、强大的具有高实时性性能的关系型数据库,特别适合处理大量数据库操作。
2025-04-30 04:11:20
947
原创 C# 解决力扣(LeetCode)算法690题 员工的重要性
每个员工可以看作图中的一个节点,而员工之间的上下级关系可以看作节点之间的有向边。需要从给定的员工 ID 开始,遍历该员工以及其所有下属节点,计算这些节点的重要度总和。首先,需要将给定的员工列表转换为一个便于访问的数据结构。选择用栈来进行深度优先搜索(DFS),这是一个非递归的方法,避免了递归调用可能带来的栈溢出风险。来分配栈的空间,避免了堆上分配内存的开销,并减少了 GC(垃圾回收)的频率。在栈上分配内存,比普通数组分配更高效,但需要注意栈空间的限制。这种方法可以确保遍历到所有下属,并累加其重要度。
2024-08-26 23:41:44
402
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人