- 博客(284)
- 资源 (11)
- 收藏
- 关注
原创 Keycloak 为什么需要自定义协议 Mapper?
在 Keycloak 中,自定义协议 Mapper(Custom Protocol Mapper) 是一种非常强大的机制,它允许你 动态地将用户属性、客户端属性或其他信息注入到 Token(ID Token 或 Access Token)中。通过 自定义协议 Mapper,你可以灵活控制(访问) Token 的内容,满足后端服务 鉴权、路由、多租户管理 等需求。
2025-07-09 20:12:20
448
原创 惊了!Keycloak 客户端签发的 Token 竟无租户信息?
在 Keycloak 中,通过 client_id 和 client_secret 注册客户端(Client)所签发的 Token 为何不包含租户信息?
2025-07-09 19:46:34
596
原创 .NET9 实现对象深拷贝和浅拷贝的性能测试
本文对比 .NET9 中对象的深拷贝和浅拷贝,并使用 BenchmarkDotNet 基准测试进行完整的性能压测,并给出详细的解释。
2025-07-08 23:30:54
666
原创 .NET9 实现处理 Execl 数据操作的性能测试
这份报告是一个性能基准测试(Benchmark)结果,用来比较不同库在处理 Excel 文件时的导出和导入性能。测试了多种常见的 Excel 操作库,包括 ClosedXML、OpenXML、NPOI、MiniExcel 和 ExcelDataReader。
2025-07-08 14:45:47
1103
原创 .NET9 实现 JSON 序列化和反序列化(Newtonsoft.Json & System.Text.Json)性能测试
在 .NET 9 平台上,通过 BenchmarkDotNet 对 Newtonsoft.Json 和 System.Text.Json 的序列化与反序列化性能测试表明,System.Text.Json 在各项指标上均优于 Newtonsoft.Json。无论是在对象级别还是 API 响应级别的操作中,System.Text.Json 都展现出更低的平均耗时和更少的内存分配,其序列化速度更快、资源消耗更低,尤其适合高性能和高并发场景。相比之下,Newtonsoft.Json 虽功能丰富且灵活,但性能开销较大
2025-07-07 23:49:27
621
原创 聊聊数据库查询处理中的两种模式(SSE & CSE)
本文深入探讨了数据库查询处理中的两种模式——服务端评估与客户端评估,并结合“空间换时间”和“时间换空间”的优化思想,分析其在EF Core中的具体应用。服务端评估通过在数据库端执行查询逻辑,减少网络传输,提升性能,适用于大数据集;而客户端评估则将部分逻辑放在应用端执行,以牺牲传输时间为代价减轻数据库负担,适合小数据或复杂逻辑场景。文章还详细列举了10条优化客户端评估的技巧,如使用可翻译的LINQ表达式、将逻辑下推至数据库、启用日志监控等,帮助开发者提升EF Core应用的查询性能和系统响应效率。
2025-07-07 16:36:18
1394
原创 .NET9 实现字符串拼接(StringConcatenation)性能测试
使用 BenchmarkDotNet 测试 C# 字符串拼接操作的性能,是一种非常有效的手段,可以帮助开发者在不同场景下选择最优的字符串拼接方式。通过基准测试,可以准确地衡量每种拼接方法在执行时间、内存分配以及垃圾回收(GC)方面的表现,从而为实际开发提供数据支持。
2025-07-06 12:33:45
933
原创 构建未来交互体验:AG-UI 如何赋能智能体与前端通信?
AG-UI(智能体用户交互协议)是由AI初创公司CopilotKit推出的开放协议,旨在标准化AI Agent与前端应用的实时交互。它通过HTTP或二进制通道传输JSON事件流,支持文本、工具调用、状态管理等功能,提升用户体验并实现安全、高效的前后端协同。
2025-07-05 22:45:02
731
原创 .NET9 实现斐波那契数列(FibonacciSequence)性能测试
在 .NET 平台上实现 斐波那契数列 并使用 BenchmarkDotNet 进行性能测试,是评估不同算法实现方式性能表现的一种高效且标准化的方法。
2025-07-05 21:38:50
1106
原创 .NET9 实现排序算法(MergeSortTest 和 QuickSortTest)性能测试
在 .NET 9 平台下,我们对两种经典的排序算法 MergeSortTest(归并排序)和 QuickSortTest(快速排序)进行了性能基准测试(Benchmark),以评估它们在不同数据规模下的执行效率、内存分配及垃圾回收行为。测试使用了 BenchmarkDotNet 工具,确保结果具有高度可重复性和统计意义。
2025-07-05 19:39:03
975
原创 基于 alpine 构建 .net 的基础镜像
说明:安装常用工具与依赖,此处可以依据实际使用到的工具安装,生产环境防止安全隐患,应该使用最小化原则安装,只安装实际使用到的工具包,减少不必要的攻击面风险。
2025-07-03 15:10:30
217
原创 使用 Dockerfile 构建基于 .NET9 的跨平台基础镜像
使用 docker buildx 构建多平台支持的 .net sdk 基础镜像。
2025-07-03 11:49:38
432
原创 使用 asp.net core webapi 导出数据文件
本文详细讲解,在 asp.net core webapi 项目中导出数据文件的几种常见方式。
2025-06-27 14:01:13
674
翻译 MCP 2025-06-18 中的新增功能:人机协同、OAuth、结构化内容和不断发展的 API 范式
最新版本的模型上下文协议 (MCP)(日期为 2025 年 6 月 18 日) 引入了强大的增强功能,将 MCP 推进为 AI 原生 API 的通用协议。
2025-06-24 19:41:48
55
原创 在 ef core 中操作复杂类型的序列化和反序列化时,如何全局设置 utf-8 编码避免中文字符被转义?
摘要:本文介绍了如何在EF Core中全局设置JSON序列化使用UTF-8编码的三种方法:1)通过HasConversion() 单独配置字段;2)在 ASP.NET Core 中全局配置 JsonOptions;3)高级用法自定义JsonValueConverterSelector。适用于EF Core 6.0+版本,解决JSON数据存储和读取时的编码问题,确保中文等特殊字符正确处理。文中提供了典型场景说明、配置代码示例和适用性对比,最后给出完整实体配置示范。
2025-06-24 18:26:05
537
原创 详解 Keycloak 对象 ClientRepresentation 参数配置
这段代码是使用 Kiota 自动生成的反序列化逻辑,用于将 Keycloak 的 REST API 响应中的 JSON 数据映射到 C# 模型类中。它定义了一个 Dictionary<string, Action<IParseNode>>,其中每个键(如 "access"、"adminUrl")对应一个字段名,值是一个委托方法,描述了如何从解析节点(IParseNode)中读取该字段的值并赋给模型类的属性。
2025-06-24 17:32:39
938
原创 详解 .net9 内置 Lock 对象,更加现代化和灵活可控的锁对象
本文详细介绍 .NET9 平台提供的内置对象 Lock,实现更加现代化,灵活可控的并发编程,更多信息请阅读文章。
2025-05-27 11:01:12
916
原创 MongoDB 与 EF Core 深度整合实战:打造结构清晰的 Web API 应用
本文详细讲解了如何在 .NET/C# 项目中使用 MongoDB.EntityFrameworkCore 这一官方提供程序,轻松地连接并操作 MongoDB 数据库。整篇文章内容由浅入深,结构清晰,适合希望将 .NET 应用与 MongoDB 结合使用的开发者参考学习。
2025-05-19 00:41:30
1358
转载 适用于 EF Core 的官方 MongoDB 提供程序的正式发布
适用于 EF Core 的 MongoDB 提供程序现已正式发布,使 C# 和 .NET 开发者能够在熟悉的 EF Core 环境中充分利用 MongoDB 的强大功能。该提供程序与 EF Core 8 和 .NET 8 完全兼容,支持高级查询、灵活映射、数组处理、日志记录等功能,并保留了代码优先工作流、基本 CRUD 操作、LINQ 查询等特性。通过这一集成,开发者可以更轻松地将 MongoDB 整合到基于 EF Core 的应用程序中,提升解决方案的稳健性和可扩展性。
2025-05-18 00:55:59
70
原创 EF Core 数据库迁移命令参考
EF Core 中 PMC 和 CLI(命令行接口)的迁移命令功能相同,但语法不同,根据你的开发环境和团队协作方式选择最合适的方式即可。
2025-05-13 15:16:29
1330
原创 一文看懂 LLM 大模型分类
多模态模型(Multimodal Models)是当前人工智能领域最具前景的研究方向之一,它能够理解并生成多种类型的数据(如文本、图像、音频、视频等),突破了传统单模态模型的限制,实现了更接近人类感知和认知能力的交互方式。
2025-05-13 14:50:37
933
原创 快速体验 .NET9 提供的 HybridCache 混合缓存
HybridCache 是 .NET 9 的一大亮点,适用于需要高性能、低延迟和分布式能力的现代应用。通过简单配置即可获得 本地 + 分布式 的双重优势,是替代传统 IMemoryCache 和 IDistributedCache 的理想选择。
2025-05-06 16:33:21
1259
原创 何如定义 JSON Schema 并验证该 json 数据?
本文定义了一个包含 `audio` 和 `tags` 两个必需属性的 `JSON Schema`,用于规范数据结构。其中,`audio` 是非空字符串,表示音频组件;`tags` 是非空数组,表示标签组件。通过示例数据和验证工具(如 `ajv`),可确保 JSON 数据符合 Schema 要求,从而保障数据的一致性和正确性。
2025-04-14 11:22:13
647
原创 关于 优快云 公众号发文《微软弃用C#、Rust,选Go拯救TypeScript编译器“中年危机”!C#之父亲自操刀,150万行代码编译现仅需7.5秒》的回复
先说个人读后感,这篇文章主观性太强,有故意抹黑 C# 的倾向,掐头去尾,直接给出微软弃用 C# 这样的话术。推荐看这篇文章《以下是原文转载内容:TypeScript、C#语言、Delphi语言之父Anders Hejlsberg[1]今日在Microsoft开发者博客宣布重大消息,TypeScript编译器以及工具链将移植到Go语言[2],性能提升高达10倍!这究竟是怎么回事?为什么要用Go?对开发者有什么影响?本文将为你深度解读。
2025-03-12 19:11:15
1787
原创 .net8 使用 license 证书授权案例解析
该示例解释了在 asp.net core8 webapi 应用中,如何使用 nuget 包 Standard.Licensing 实现 license 证书授权,使用灵活的授权模式增强应用的安全性。
2025-03-01 21:51:21
1146
原创 .NET 平台 SM2 国密算法 License 证书生成深度解析
授权证书生成文件的后缀通常取决于其编码格式和用途。此程序演示了如何在 .NET 平台中使用 SM2 国密算法生成和验证 License(许可证)文件。该示例不仅展示了国密 SM2 算法的实际应用,还提供了有关如何高效处理大规模数据生成任务的技术参考。
2025-02-21 00:10:51
1159
原创 聊聊 C# 中的委托
委托(Delegate)是C#中的一种类型安全的函数指针,允许将方法作为参数传递或赋值给变量。它主要用于事件处理、回调函数和多播委托等场景。委托的声明类似于方法声明,但不包含方法体。自定义委托在某些特定情况下非常有用,特别是在现有的内置委托(如 Action 和 Func)无法满足需求时,例如方法签名不匹配或需要提高代码可读性和语义清晰性。
2025-01-02 23:59:08
1221
原创 如何删除 Docker 中的悬虚镜像?
删除悬虚镜像是保持 Docker 环境整洁和释放磁盘空间的有效方法。如果您在操作过程中遇到任何问题,建议参考 Docker官方文档或社区支持资源以获取更多帮助。
2025-01-02 11:40:05
1213
原创 探索 .NET 9 控制台应用中的 LiteDB 异步 CRUD 操作
LiteDB 是一款轻量级、快速且免费的 .NET NoSQL 嵌入式数据库,专为小型本地应用程序设计。它以单一数据文件的形式提供服务,支持文档存储和查询功能,适用于桌面应用、移动应用和小型 Web 应用等场景。
2024-11-23 22:13:20
1312
原创 K8s 一键部署 MongoDB 的 Replica-Set 和 MongoDB-Express
本文详细讲解 k8s 一键部署 mongodb 高可用多副本集模式;
2024-11-19 20:31:39
1249
转载 CNCF 宣布 Dapr 毕业
Dapr 是一个可移植的分布式应用运行时,提供集成 API,帮助开发者构建可靠和安全的分布式应用,提升生产力 20-40%。Dapr 于 2019 年由微软发布,并于 2021 年 11 月正式加入 CNCF。截至 2024 年 11 月 13 日,Dapr 已正式从 CNCF 毕业。它支持多种云原生技术,广泛应用于 Grafana、FICO、HDFC 银行等企业。
2024-11-13 11:36:57
142
原创 庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,对于开发者社区来说是一个值得庆祝的日子。这两个重要的里程碑标志着云原生技术和开发工具的进一步成熟和完善。本文将详细介绍如何使用 .NET 9 Aspire & Dapr 帮助开发者构建高效、可靠和安全的分布式云原生应用,提升生产力。.NET9 正式版的发布和 Dapr 从 CNCF 毕业,标志着云原生技术的进一步成熟。
2024-11-13 11:33:33
1269
原创 你知道吗?从 .NET9 开始删除内置的 Swagger 支持 (Swashbuckle)!
从 .net9 开始移除内置的 Swagger (Swashbuckle) ,使用 package Scalar.AspNetCore 替代,此 .NET 包提供了一种基于 OpenAPI/Swagger 文档呈现精美 API 引用的简单方法。
2024-10-28 00:20:28
1534
1
翻译 了解 .NET 9 中的新 Microsoft.AspNetCore.OpenApi 包,并将其与 NSwag 和 Swashbuckle.AspNetCore 进行比较
本文介绍了 `.NET 9` 中新推出的 `Microsoft.AspNetCore.OpenApi` 包,该包旨在为 `ASP.NET Core` 应用程序生成 `OpenAPI` 文档。文章对比了 `NSwag` 和 `Swashbuckle.AspNetCore` 两大现有库,探讨了新包的优势和不足,特别是在性能和功能方面。尽管新包在某些方面尚不及成熟库完善,但其对原生 `AoT` 编译的支持和未来的扩展潜力使其成为一个值得考虑的选择。文章还提供了详细的性能测试数据和优化建议。
2024-10-26 23:29:43
470
原创 快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
BaGet 是一个轻量级且高性能的 NuGet 服务器,支持多种存储后端和配置选项。通过简单的部署和配置,你可以轻松搭建自己的 NuGet 服务器。
2024-09-06 18:18:05
1642
2
原创 如何使用 ef core 的 code first(fluent api)模式实现自定义类型转换器?
文章介绍了如何在 EF Core 的 Code First 模式下使用自定义类型转换器实现 JsonDocument 和 DateTime 类型到 SQLite 数据库的正确映射。通过定义 ValueConverter,实现了数据类型的转换,并展示了完整的项目结构和代码实现,包括实体类定义、DbContext 配置及数据库迁移操作。
2024-09-04 17:58:04
1686
2
NET-Microservices-Architecture-for-Containerized-NET-Applications.pdf
2019-10-19
TypeScript 程序设计.pptx
2019-05-08
PetShop-vNext.zip
2021-04-16
PetShop 5.0 详解之一(系统架构设计2017-09-01)修订版.pdf
2021-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人