自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (1)
  • 收藏
  • 关注

原创 ASP.NET Core Web API 中集成 DeveloperSharp.RabbitMQ

是一个专为.NET开发者设计的高阶封装库,旨在极大简化RabbitMQ的集成与操作流程。它通过抽象底层复杂配置,提供极简API,让开发者无需深入理解AMQP协议细节即可快速实现消息队列功能。DeveloperSharp.RabbitMQ 通过屏蔽RabbitMQ底层复杂性,为.NET开发者提供了一套“开箱即用”的消息队列解决方案。适合需快速构建异步解耦、流量削峰(如电商秒杀)或跨系统联动的应用场景。对于超大规模集群(日处理亿级以上消息),建议结合原生RabbitMQ集群策略进一步优化。

2025-07-21 11:29:15 1068

原创 .Net Core 中RabbitMQ基本使用

RabbitMQ 的核心是一个消息代理。想象它是一个高效的邮局:应用程序(生产者)把消息(信件)发送给它,它负责将消息安全、可靠地路由和递送给一个或多个目标应用程序(消费者)。RabbitMQ 最初实现了 AMQP (Advanced Message Queuing Protocol) 0-9-1 协议,这是一个开放标准的应用层协议,专为可靠、异步、跨平台的消息传递而设计。这使得不同语言和平台编写的应用程序能够轻松通信。

2025-07-03 13:07:21 1077

原创 EF Core 实现充血模型及MediatR应用

在 Entity Framework Core 中实现充血模型(Rich Domain Model)是领域驱动设计(DDD)的核心实践,它强调将业务逻辑封装在实体内部,而非分散在服务层。三、实现1.基类实现ValueObject.cs用于比较两个值对象是否相等Entity.cs封装一些通用行为(如标识比较、领域事件等)IAggregateRoot标记接口,用于表示该实体是聚合根2. 领域模型实现值对象 (Address.cs)Address.cs商品实体 (Produ

2025-06-29 17:01:41 544

原创 EF Core 中实现值对象

在 Entity Framework Core 中实现值对象(Value Object)主要有两种方式,根据 EF Core 版本选择合适的方法。public record Address // 使用 record 类型自动实现不可变性和值相等性init;init;init;// 构造函数(强制完整初始化)新项目(EF Core 8+):优先使用旧项目(EF Core <8):使用始终重写值对象的Equals()和推荐使用record类型简化不可变对象实现。

2025-06-24 18:10:09 664

原创 .NET Core充血模型

充血模型是领域驱动设计DDD)中的一种重要模式,它将业务逻辑封装在实体内部,使实体成为包含行为和数据的完整领域对象。领域对象方法应仅使用自己的属性/参数进行计算,避免依赖外部服务(可通过方法参数注入依赖)。通过充血模型,可显著提升代码可维护性和业务表达能力,特别适合复杂业务系统的领域驱动设计(DDD)实现。

2025-06-24 17:29:33 899 1

原创 Asp.Net Core SignalR导入数据

导入CSV文件中的数据到数据库,使用CsvHelper解析CSV文件,SqlBulkCopy批量导入数据,SignalR Hub 进度推送。通过以上步骤,可以实现简单的CSV文件解析,批量导入数据库,实时显示进度的功能。

2025-06-11 12:31:33 704

原创 Asp.Net Core 外部服务向SignalR的Hub发送消

在 ASP.NET Core 中,若需要从 外部服务(如 Web API、后台任务或其他微服务)向 SignalR 的 Hub 发送消息,可以通过以下方式实现:利用 IHubContext 服务直接调用 Hub 方法,无需客户端连接上下文。通过以上方法,可轻松实现从外部服务向 SignalR Hub 发送消息,满足实时通知、状态更新等业务需求。

2025-06-09 09:39:16 1154

原创 ASP.NET Core SignalR - 部分客户端消息发送

SignalR 提供了强大的消息发送机制,支持向特定用户、组或所有客户端广播消息。通过以上方法,你可以灵活实现 SignalR 的部分消息发送功能,满足不同场景下的实时通信需求。

2025-06-07 00:27:45 1039

原创 ASP.NET Core SignalR 身份认证集成指南(Identity + JWT)

本文将详细介绍如何在 ASP.NET Core SignalR 应用中结合 Identity 框架和 JWT 实现安全的身份认证与授权。通过以上配置,您可以构建一个安全、可扩展的 ASP.NET Core SignalR 应用,充分利用 Identity 框架进行用户管理,并通过 JWT 实现无状态认证。这种架构特别适用于需要实时通信的现代 Web 应用和移动应用。

2025-06-01 16:58:16 1135

原创 Asp.Net Core SignalR的分布式部署

在分布式环境中部署 SignalR 应用需要解决连接状态管理和消息广播问题分布式部署 SignalR 的关键在于:使用消息代理实现服务器间通信。合理配置负载均衡器,支持会话亲和性和 WebSocket。避免使用服务器本地状态,采用外部存储。加强监控,及时发现并解决问题。

2025-05-31 17:07:46 1090

原创 Asp.Net Core SignalR的协议协商问题

在ASP.NET Core SignalR 里,协议协商是客户端和服务器建立连接时的重要步骤禁用协商(仅限WebSocket服务器必须启用 WebSocket 并开放正确端口(通常 80/443)。// 创建新连接skipNegotiation: true, // 尝试跳过协商步骤transport: signalR.HttpTransportType.WebSockets // 强制使用 WebSockets})})

2025-05-31 16:24:35 1140

原创 ASP.NET Core SignalR的基本使用

在 ASP.NET Core 中, SignalR 是用于实现实时、双向通信的技术。SignalR: 是构建在WebSocket(和其他传输) 之上的高级框架。它抽象了底层复杂性,提供了极其便利的编程模型(Hub)、内置的连接管理、自动传输回退和重连机制,极大地简化了在 ASP.NET Core 中开发各种实时功能的过程。它是大多数需要服务器主动推送消息的 ASP.NET Core 实时应用的首选。

2025-05-31 11:25:09 1521

原创 Asp.Net Core FluentValidation校验框架

是一个流行的.NET库,用于构建强类型的验证规则。它通常用于验证领域模型DTO等对象。注意:在中,我们可以使用包来更好地集成,它提供了自动验证的功能,这样我们就不需要在每个Action中手动调用验证了。通过以上配置,您可以在 ASP.NET Core 8.0 Web API 中实现验证逻辑,保持控制器简洁并返回结构化的错误响应。

2025-05-30 13:25:24 798

原创 Asp.Net Core 托管服务

在中,托管服务()允许你在后台运行长时间运行的任务,例如定时任务、消息队列处理、数据清理等。托管服务是定时任务(如数据同步、缓存刷新)消息队列消费资源监控其他需要长时间运行的进程通过或,结合依赖注入和异步编程模型,可以轻松构建可靠的后台任务。

2025-05-29 11:27:47 979

原创 Asp.Net Core 通过JWT版本号实现JWT无法提前撤回的问题

在 ASP.NET Core 中解决 JWT 无法提前撤回的问题,需要结合服务器端状态管理机制来弥补 JWT 无状态的特性。以下是基于版本号机制实现JWT提前失效的方案。通过上述方案,可有效解决 JWT 无法提前撤回的问题。

2025-05-27 17:37:43 804

原创 Asp.Net Core 如何配置在Swagger中带JWT报文头

配置Swagger支持JWT完成上述配置后,Swagger将自动在请求头中添加 JWT,方便在开发过程中测试受保护的 API 端点。

2025-05-27 15:43:35 833

原创 ASP.NET Core 中JWT的基本使用

在中实现基于JWT的RBAC(基于角色的访问控制)。} } }?set;Program.cs//注册//注册 builder . Services . AddSingleton < IAuthorizationHandler , PermissionHandler >();

2025-05-27 15:09:55 894

原创 ASP.NET Core Identity 框架中实现密码重置

密码重置功能通过以上步骤,可实现密码重置功能。

2025-05-13 14:57:16 745

原创 ASP.NET Core Identity框架使用指南

ASP.NET Core Identity 是一个用于管理用户身份验证、授权和用户信息的框架,它是 ASP.NET Core 平台的重要组成部分。它为开发者提供了一套完整的工具和 API,用于处理用户注册、登录、密码管理、角色权限、第三方登录(如 Google、Facebook)等常见功能。自定义用户类继承并扩展属性(如创建时间):using Microsoft.AspNetCore.Identity;longset;自定义角色类继承。

2025-05-12 13:01:16 1180

原创 ASP.NET Core 中实现 Markdown 渲染中间件

Markdown 内容的动态渲染,适用于文档系统、博客引擎等场景。通过此中间件,可快速实现 Markdown 内容的动态渲染,适用于文档系统、博客引擎等场景。

2025-05-08 14:14:17 633

原创 ASP.NET Core 中间件

ASP.NET Core 中间件是构成请求处理管道的核心组件,用于处理 HTTP 请求和响应。中间件是按顺序执行的组件,串联成请求处理管道(Pipeline),每个组件负责处理请求或响应的特定阶段。中间件是 ASP.NET Core 请求处理的核心机制,通过管道式设计实现高度模块化和灵活的 HTTP 处理逻辑。理解其顺序性和短路机制是构建高效应用的关键。

2025-05-06 12:48:27 1038 1

原创 ASP.NET Core 请求限速的ActionFilter

以下是一个基于内存缓存实现的自定义限流Action Filter。return;lastVisit);elsecontext.Result = new ObjectResult("访问太频繁") { StatusCode=429};内存缓存方案仅适用于单实例部署高并发场景建议使用类处理计数器原子操作生产环境推荐使用分布式缓存(如Redis建议使用成熟的限流库(如。

2025-05-05 10:19:05 643

原创 ASP.NET Core自动事务ActionFilter

ActionFilter是用于在控制器动作执行前后插入逻辑的,要实现自动事务,应该是在OnActionExecuting开始事务,在OnActionExecuted根据结果提交或回滚。通过此方案,开发者可以灵活控制事务的启用和配置,同时保持代码简洁性和数据一致性。

2025-04-26 10:21:50 1217

原创 ASP.NET Core Action Filter

是中一种强大的机制,允许在请求处理管道的特定阶段插入逻辑。通过合理使用,可以显著提升代码的可维护性和复用性。建议根据场景选择合适的同步/异步实现,并注意生命周期管理。

2025-04-25 15:46:56 889

原创 Asp.Net Core 异常筛选器ExceptionFilter

在 ASP.NET Core 中,异常筛选器(Exception Filters) 是 MVC 框架提供的一种机制,用于集中处理控制器(Controller)或 Action 方法中抛出的异常。它们允许你在异常发生时拦截并自定义处理逻辑,例如记录日志、返回特定格式的错误响应或执行恢复操作。通过实现或接口创建自定义筛选器::public class MyExceptionFilter : IAsyncExceptionFilterstring msg;}else。

2025-04-25 11:05:15 879

原创 ASP.NET Core 批量注册上下文DbContext

在ASP.NET Core 项目中批量注册多个DbContext可以通过反射和自定义扩展方法实现。通过反射显式构造泛型方法并调用,解决了编译器无法推断类型参数的问题。此方法适用于需要动态批量注册多个 DbContext 的场景,同时支持灵活配置不同的数据库提供程序。

2025-04-24 10:14:41 377

原创 ASP.NET Core 分层项目中EFCore的使用

结合的分层项目架构是一种常见的开发模式,旨在通过职责分离提高代码的可维护性、可测试性和扩展性。分层架构在项目中通过职责分离提升了代码质量,但需要权衡设计复杂度和实际需求。通过合理分层、依赖注入和接口抽象,可以构建高可维护、可测试的应用程序,同时避免过度设计。最终,架构选择应服务于业务需求,而非盲目追求分层形式。

2025-04-21 16:31:37 1210

原创 ASP.NET Core Web API 配置系统集成

集成配置系统的主要目的是将应用程序的配置信息与代码分离,使得配置信息可以在不需要修改代码的情况下进行维护。这样可以提高应用程序的灵活性和可维护性。ASP.NET Core 提供了一种灵活的配置系统,可以轻松地将配置信息从不同的来源加载到应用程序中,并且可以根据环境变量、命令行参数、JSON 文件、XML 文件、环境变量等不同来源来管理配置。配置源优先级:后添加的源优先级更高,用户机密 > 命令行 > 环境变量 > 自定义XML >强类型绑定:通过注册,使用IOptionsT>/T> 注入。

2025-04-17 22:01:55 1308

原创 ASP.NET Core 性能优化:分布式缓存

在 ASP.NET Core 中,分布式缓存是一种将缓存数据存储在多个应用服务器共享的外部服务中的机制。它适用于分布式系统、集群部署或需要跨多个实例共享缓存数据的场景。分布式缓存在 ASP.NET Core 中是实现高性能、可扩展应用的关键组件。选择合适的缓存提供程序(如 Redis),结合合理的过期策略和序列化方式,可以显著提升系统性能。在设计和实现时,需特别注意缓存一致性、雪崩和穿透等问题,通过监控和诊断工具持续优化缓存策略。

2025-04-14 17:59:23 877 1

原创 ASP.NET Core 性能优化:内存缓存

在 .NET Core 中,缓存是性能优化的重要手段之一。缓存(Caching)是提升应用性能的关键技术,通过存储频繁访问的数据来减少计算和数据库压力。数据库中的索引等简单有效的优化功能本质上都是缓存。缓存不可变数据:确保缓存对象不会被修改,或在缓存时创建副本。监控缓存命中率:评估缓存有效性,调整过期策略。避免缓存敏感数据:内存数据易失,不适合存储机密信息。通过合理使用内存缓存,可有效减少数据库压力,提升应用响应速度。

2025-04-12 22:01:50 1390 1

原创 ASP.NET Core 性能优化:服务器端响应缓存

在 .NET Core 中,缓存是性能优化的重要手段之一。缓存(Caching)是提升应用性能的关键技术,通过存储频繁访问的数据来减少计算和数据库压力。数据库中的索引等简单有效的优化功能本质上都是缓存。启用中间件:AddResponseCaching 和 UseResponseCaching。配置策略:使用 [ResponseCache] 或手动设置缓存头。区分缓存版本:通过 VaryByQueryKeys 或 VaryByHeader。结合分布式缓存:支持多实例部署。

2025-04-11 19:51:42 835

原创 ASP.NET Core 性能优化:客户端响应缓存

在 .NET Core 中,缓存是性能优化的重要手段之一。缓存(Caching)是提升应用性能的关键技术,通过存储频繁访问的数据来减少计算和数据库压力。数据库中的索引等简单有效的优化功能本质上都是缓存。在Program.cs中定义全局缓存模板,避免重复配置:builder.Services.AddControllers(options =>Duration = 20, // 20秒});});在Controller。

2025-04-10 15:10:11 1230

原创 ASP.NET Core 反射动态发现类库服务

在中,依赖注入()是一种核心设计模式,用于管理对象的创建和生命周期,从而实现松耦合和可测试性反射动态发现类库服务,适用于需要高度模块化的应用。创建一个公共类库(例如 SharedContracts),定义服务注册的统一接口。所有其他类库需引用该库引用包。

2025-04-10 10:18:28 904

原创 ASP.NET Core Web API 参数传递方式

在ASP.NET Core Web API中,参数传递方式多样且灵活,合理选择传递方式对API设计和性能优化至关重要。场景:处理特殊格式的输入(如自定义日期格式实现:继承接口。示例// 解析自定义日期格式...[HttpGet"events"typeof// 使用自定义日期绑定逻辑通过合理选择参数传递方式,结合验证和安全性措施,可以构建高效、安全且易维护的Web API。

2025-04-05 22:04:27 1274

原创 ASP.NET Core Web API 中 HTTP状态码的分类及对应的返回方法

在ASP.NET Core Web API中,HTTP状态码用于表示请求的处理结果。示例// 继承ActionResult自定义返回context.HttpContext.Response.WriteAsync("自定义状态码");// 使用自定义结果[HttpGet"custom"通过适配的方法,可以清晰、规范地在中返回各类HTTP状态码,满足的设计要求。

2025-04-04 20:28:08 1297

原创 RESTful

是一种基于HTTP协议的软件架构风格,用于设计网络应用的接口(API它的核心思想是通过资源(Resource)的表()来实现客户端与服务器之间的状态交互。通过合理选择参数传递方式并遵循上述实践,可以构建出高效、安全且符合RESTful规范的。

2025-04-04 19:33:51 863

原创 .NET新语法

在 ASP.NET Core 开发中,随着 C# 语言的持续更新和 .NET 平台的迭代,开发者可以利用许多新语法特性来简化代码、提高可读性和开发效率。通过合理运用这些新语法,可以显著提升 ASP.NET Core 项目的开发效率和代码质量。建议结合项目需求选择合适特性,并注意版本兼容性(如 .NET 6+ 支持 C# 10/11)。

2025-04-03 15:28:17 1076

原创 EF Core表达式树

在 Entity Framework Core 中,表达式树(Expression Tree) 是 LINQ 查询的核心机制,它允许将 C# 代码中的查询逻辑转换为 SQL 语句,从而在数据库服务器端高效执行。通过灵活使用表达式树,可以极大增强 EF Core 查询的灵活性,同时保持高效的服务器端执行。

2025-03-30 22:07:04 1063

原创 EF Core 乐观并发控制(并发令牌)

Entity Framework (EF) Core 默认支持 乐观并发控制(Optimistic Concurrency Control),它通过检测数据冲突(而不是显式加锁)来保证数据一致性。EF Core的乐观并发通过版本号或字段值检测冲突,无需显式加锁,适合低竞争场景。通过或配置并发令牌,并在冲突时通过实现灵活的数据合并或重试逻辑。乐观并发控制能够避免悲观锁带来的性能、死锁等问题,因此推荐使用并发控制而不是悲观锁。

2025-03-28 22:18:41 836

原创 EF Core悲观并发控制

默认主要支持 乐观并发控制(通过并发令牌或 RowVersion),而悲观并发控制需要开发者手动实现(通常借助数据库事务和锁机制EF Core实现悲观并发需通过数据库锁和事务手动控制。虽然灵活,但需谨慎处理锁的范围和事务生命周期,避免性能问题。如果业务允许,优先考虑乐观并发(如特性或RowVersion。

2025-03-28 17:53:24 1050

Asp.Net Core SignalR导入数据

导入CSV文件中的数据到数据库,使用CsvHelper解析CSV文件,SqlBulkCopy批量导入数据,SignalR Hub 进度推送。

2025-06-11

ASP.NET Core SignalR - 部分客户端消息发送

实现了消息发送、简易角色管理、简易用户管理、组管理

2025-06-07

ASP.NET Core SignalR 身份认证集成指南(Identity + JWT)

ASP.NET Core SignalR 身份认证集成指南(Identity + JWT)

2025-06-01

Markdown 内容的动态渲染示例文件*.md

Markdown 内容的动态渲染示例文件*.md

2025-05-08

逆向工程.rar

自动生成map映射文件,model类等 (数据库驱动:选择你的本地硬盘上面的数据库驱动包;Model模型生成器,用来生成含有主键Key的类,记录类以及查询Example类 targetPackage 指定生成的model所在包名 targetProject 指定在该项目下所在的路径 生成模型的包名和位置;生成映射文件的包名和位置 为每一个数据库的表生成对应的sqlMap文件)

2019-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除