动态代码 C# 中实现动态代码的方式有很多,比如 反射、表达式树、EMIT、Roslyn、Source Generators 等,C# 各类框架中几乎都有动态代码技术的使用,比如依赖注入、对象关系映射、AOP 技术等。由于动态代码技术在 C# 中的使用场景非常广泛,因此在本章中,笔者将会介绍多种动态代码技术,以及完成部分实践,完成常见几种框架技术的编写方法。 阅读本章内容之前,需要读者熟练掌握反射技术,需要学习反射技术,可以参考笔者的在线电子书课程: https://reflect.whuanle.cn/ EMIT…

2026年4月15日 0条评论 40点热度 0人点赞 痴者工良 阅读全文

Author blog addresses: https://www.whuanle.cn https://www.cnblogs.com/whuanle .NET Advanced Development Series Tutorial: https://docs.whuanle.cn/zh/maomi_framework Event Bus An event bus is often used in software development as a tool to decouple communication…

2026年4月14日 0条评论 68点热度 0人点赞 痴者工良 阅读全文

作者博客地址: https://www.whuanle.cn https://www.cnblogs.com/whuanle .NET 高级开发系列教程地址: https://docs.whuanle.cn/zh/maomi_framework 事件总线 事件总线常常作为软件开发中解耦各个组件通讯的工具。在领域驱动设计的开发过程中,由于系统存在多个模块,为了避免各个模块的函数直接进行调用,使用事件总线作为媒介进行模块间的通讯,解耦模块之间的依赖。 在本章中我们将会学习如何编写一个事件总线框架,本文参考了很多 MAS…

2026年4月14日 0条评论 70点热度 0人点赞 痴者工良 阅读全文

Machine Performance The server hardware configuration used in this test is shown below. Besides MySQL and StarRocks, this machine also runs many other Docker services. CPU: AMD Ryzen™ 7 8745H w/ Radeon™ 780M Graphics × 16 Memory: DDR5 5600 MT/S 32G(16G*2) Disk…

2026年4月13日 0条评论 84点热度 0人点赞 痴者工良 阅读全文

机器性能 本次测试所用服务器硬件配置如下,此机器除了 Mysql 和 StartRocks 还部署了其它很多 Docker 服务。 CPU: AMD Ryzen™ 7 8745H w/ Radeon™ 780M Graphics × 16 内存: DDR5 5600 MT/S 32G(16G*2) 磁盘性能: Timing cached reads: 64174 MB in 1.99 seconds = 32256.62 MB/sec Timing buffered disk reads: 3562 MB in 3…

2026年4月13日 0条评论 82点热度 0人点赞 痴者工良 阅读全文

Author: whuanle Author blog addresses: https://www.whuanle.cn https://www.cnblogs.com/whuanle Tutorial address: https://docs.whuanle.cn/zh/maomi_framework Framework source code: https://github.com/whuanle/maomi Contents: HTTP client development HttpClient basi…

2026年4月10日 0条评论 182点热度 0人点赞 痴者工良 阅读全文

作者:痴者工良 作者博客地址: https://www.whuanle.cn https://www.cnblogs.com/whuanle 教程地址:https://docs.whuanle.cn/zh/maomi_framework 框架源码地址: https://github.com/whuanle/maomi 目录: http 客户端开发 HttpClient 基础 请求参数 请求凭证 异常处理 IHttpClientFactory IHttpClientFactory 基础 请求策略 Refit 框架的使…

2026年4月10日 0条评论 184点热度 0人点赞 痴者工良 阅读全文

Design of a Multilingual Framework Author blog: https://www.whuanle.cn https://www.cnblogs.com/whuanle Tutorial: https://docs.whuanle.cn/zh/maomi_framework Framework source code: https://github.com/whuanle/moai With the internationalization of business, in ord…

2026年4月8日 0条评论 170点热度 0人点赞 痴者工良 阅读全文

多语言框架的设计 作者博客地址: https://www.whuanle.cn https://www.cnblogs.com/whuanle 教程地址:https://docs.whuanle.cn/zh/maomi_framework 框架源码地址:https://github.com/whuanle/moai 随着业务的国际化,为了满足不同客户群体的需要,软件产品需要支持多种语言,根据用户选择的语言呈现不同语言的界面。ASP.NET Core 或 ABP 等框架都提供了多语言解决方案,尽管配置方法各不相同,但…

2026年4月8日 0条评论 130点热度 1人点赞 痴者工良 阅读全文

Serialization and Deserialization in .NET In ASP.NET Core applications, the framework hides many implementation details of serialization and deserialization. We only need to define parameter models, and ASP.NET Core will automatically deserialize the HTTP requ…

2026年4月7日 0条评论 188点热度 0人点赞 痴者工良 阅读全文

.NET 中的序列化和反序列化 在 ASP.NET Core 应用中,框架会屏蔽了很多实现序列化和反序列化的细节,我们只需要定义参数模型,ASP.NET Core 会自动将 http 请求的 Body 反序列化为模型对象。但是日常开发中我们会对序列化和反序列化做许多定制配置,比如忽略值为 null 的字段、时间格式处理、忽略大小写、字段类型转换等各种情况。因此笔者单独使用一章讲解序列化框架的使用以及如何进行定制,深入了解 .NET 中序列化和反序列化机制。 System.Text.Json 是 .NET 框架自带的…

2026年4月7日 0条评论 152点热度 0人点赞 痴者工良 阅读全文

Configuration and Options In ASP.NET Core template projects, there are usually two configuration files: appsettings.json and appsettings.Development.json. Through these two files we can configure things such as the startup port of the Web application and wheth…

2026年4月3日 0条评论 228点热度 0人点赞 痴者工良 阅读全文

配置和选项 ASP.NET Core 模板项目下会有 appsettings.json、appsettings.Development.json 两个配置文件,我们可以通过这两个文件配置 Web 应用的启动端口、是否使用 https 等,大多数第三方框架也都支持在这两个 json 文件中配置。ASP.NET Core 程序默认支持从 json 文件、xml 文件、环境变量等多种配置源注入到内存中,微服务应用一般会使用远程配置中心存储配置以便动态更新到程序中,不管是什么类型的配置源,只需要提供 IConfigurat…

2026年4月3日 0条评论 170点热度 0人点赞 痴者工良 阅读全文

Series tutorial address: https://docs.whuanle.cn/ Developing .NET Diagnostic Tools System.Diagnostics, Microsoft.Diagnostics The interfaces in the System.Diagnostics and Microsoft.Diagnostics namespaces are used to diagnose .NET programs. They involve many dia…

2026年4月2日 0条评论 238点热度 0人点赞 痴者工良 阅读全文

系列教程地址:https://docs.whuanle.cn/ 开发 .NET 诊断工具 System.Diagnostics、Microsoft.Diagnostics 在 System.Diagnostics Microsoft.Diagnostics 命名空间中的接口用于诊断 .NET 程序,里面涉及到很多诊断技术,由于个人技术水平限制以及篇幅原因,笔者只介绍比较常用的几种诊断方法,不深入探讨原理。 Debug、Trace 在 System.Diagnostics 命名空间中有 Debug、Trace 两个类…

2026年4月2日 0条评论 208点热度 0人点赞 痴者工良 阅读全文

日志还有使用技巧?直接写不就行了?这还需要学? In fact, according to the author's observations, many .NET developers have bad habits, such as: Writing a large amount of logs in Chinese Logs have no unified format, with parameters and data concatenated everywhere Logs do not output i…

2026年4月1日 0条评论 216点热度 0人点赞 痴者工良 阅读全文

日志还有使用技巧?直接写不就行了?这还需要学? 实际上,据笔者观察,很多 .NET 开发者都有不良习惯,例如: 日志里面大量使用中文编写 日志没统一格式,到处拼接参数、数据 日志没有输出统一格式,导致采集、分析困难 日志喜欢在各类中间件、模块中定义自定义拦截日志,导致性能消耗严重 不知道 .NET 中日志有上下文和作用域,导致多条日志没有串联起来,查找日志困难 不了解日志系统,导致生成、采集的日志价值不大,分析问题低效 根据笔者的带队经验,基于很多 .NET 开发者的习惯,所以写了本文。 本文目录: 在 ASP.N…

2026年4月1日 0条评论 194点热度 0人点赞 痴者工良 阅读全文

Maomi framework address https://docs.whuanle.cn/zh/maomi Learning tutorial for developing a .NET framework: https://docs.whuanle.cn/zh/maomi_framework Troubleshooting and Logging There are many ways to troubleshoot a .NET application. Based on personal experie…

2026年3月30日 0条评论 226点热度 0人点赞 痴者工良 阅读全文

Maomi 框架地址 https://docs.whuanle.cn/zh/maomi 学习开发 .NET 框架教程地址: https://docs.whuanle.cn/zh/maomi_framework 故障排查和日志 .NET 程序进行故障排查的方式有很多,笔者个人总结常用的有以下方式: IDE 调试、Visual Studio 中的诊断工具、性能探测器 一般来说,使用 IDE 进行断点调试和诊断只适合在本地开发环境,我们可以借助 IDE 中的工具断点调试以及收集程序详细的运行信息,IDE 是功能最全、最有…

2026年3月30日 0条评论 204点热度 0人点赞 痴者工良 阅读全文

Maomi.I18n As businesses expand internationally, software products need to support multiple languages to serve different customer groups. The interface should display different languages according to the user’s selected language. Frameworks such as ASP.NET Cor…

2026年3月26日 0条评论 350点热度 0人点赞 痴者工良 阅读全文
1234555