合集-.NET8
.NET8依赖注入新特性Keyed services
摘要:什么是Keyed service Keyed service是指,为一个需要注入的服务定义一个Key Name,并使用使用Key Name检索依赖项注入 (DI) 服务的机制。 使用方法 通过调用 AddKeyedSingleton (或 AddKeyedScoped 或 AddKeyedTrans 阅读全文
posted @ 2023-11-16 10:05 chester·chen 阅读(2099) 评论(0) 推荐(7)
C#12中的Primary Constructors(主构造函数)
摘要:什么是主构造函数 把参数添加到class与record的类声明中就是主构造函数。例如 class Person(string name) { private string _name = name; } 这种写法与以下代码写法一样 class Person { private string _nam 阅读全文
posted @ 2023-11-17 08:08 chester·chen 阅读(1890) 评论(0) 推荐(8)
.NET8 Blazor的Auto渲染模式的初体验
摘要:.NET8发布后,Blazor支持四种渲染方式 静态渲染,这种页面只可显示,不提供交互,可用于网页内容展示 使用Blazor Server托管的通过Server交互方式 使用WebAssembly托管的在浏览器端交互方式 使用Auto自动交互方式,最初使用 Blazor Server,并在随后访问时 阅读全文
posted @ 2023-11-18 07:44 chester·chen 阅读(4146) 评论(4) 推荐(8)
.NET8 Blazor新特性 流式渲染
摘要:什么是SSR Blazor中的流式渲染结合了SSR(服务端渲染),服务端将HTML拼好返回给前端,有点像我们熟知的Razor Pages 或 MVC 。 当已经有了 Razor Pages 或 MVC 时,为什么还要选择使用 Blazor 来实现这一点?这里有几个原因。 首先,Razor Pages 阅读全文
posted @ 2023-11-19 07:56 chester·chen 阅读(3241) 评论(5) 推荐(12)
C#12中的Collection expressions(集合表达式语法糖)
摘要:C#12中引入了新的语法糖来创建常见的集合。并且可以使用..来解构集合,将其内联到另一个集合中。 支持的类型 数组类型,例如 int[]。 System.Span<T> 和 System.ReadOnlySpan<T>。 支持常见泛型集合,例如 System.Collections.Generic. 阅读全文
posted @ 2023-11-20 10:24 chester·chen 阅读(2494) 评论(7) 推荐(9)
将 .NET Aspire 部署到 Kubernetes 集群
摘要:使用Aspirate可以将Aspire程序部署到Kubernetes 集群 工具安装 dotnet tool install -g aspirate --prerelease 注意:Aspirate 正在开发中,该软件包将作为预览版进行版本控制,--prelease 选项将获得最新的预览版。 容器注 阅读全文
posted @ 2023-12-07 10:51 chester·chen 阅读(1401) 评论(0) 推荐(1)
WinForm 开源组件 Realtiizor
摘要:Realtiizor 的优势 现代美观的界面设计 Realtiizor 为 WinForm 应用带来了现代感十足的界面风格。它采用了流行的设计理念,如 Material Design 的元素融入,使得应用程序的外观瞬间提升到一个新的层次。无论是窗体的整体布局、按钮的样式还是文本框的呈现,都显得精致而 阅读全文
posted @ 2024-12-08 09:33 chester·chen 阅读(2037) 评论(1) 推荐(3)
.NET 中 Logger 常被忽视的方法 BeginScope
摘要:BeginScope 方法是 .NET 中 ILogger 接口的一部分,用于创建日志记录的作用域(Scope)。这种作用域可以将特定的上下文信息包含在日志中,从而提高日志的可读性和调试效率。 配置日志包含作用域信息 首先,需要在日志配置中启用包含作用域信息。以 appsettings.json 为 阅读全文
posted @ 2025-01-21 09:11 chester·chen 阅读(1125) 评论(1) 推荐(5)
.NET中优雅使用Patch: JsonPatch
摘要:引言 在现代 Web API 开发中,我们经常需要对资源进行部分更新(Partial Update)。传统的 PUT 请求会要求发送整个对象,而 PATCH 请求可以仅发送需要更新的字段。ASP.NET Core 提供了 JsonPatchDocument<T> 来简化这一操作。 什么是 JsonP 阅读全文
posted @ 2025-02-06 09:06 chester·chen 阅读(1055) 评论(2) 推荐(0)
dotnet-trace 分析.net程序性能
摘要:在现代 .NET 开发中,性能分析和故障诊断是确保应用程序稳定性和高效性的关键步骤。 本文将介绍如何使用 dotnet-trace 工具进行 .NET Core 应用的性能跟踪,并结合 PerfView 和 Speedscope 等可视化工具,深入理解应用的运行状况。 一、dotnet-trace 阅读全文
posted @ 2025-05-17 14:24 chester·chen 阅读(848) 评论(0) 推荐(6)
用 Sidecar 容器为 .NET Core 应用做诊断和性能分析
摘要:在微服务架构和云原生应用广泛采用的今天,.NET Core 应用被越来越多地部署在 Kubernetes 集群中。然而,一旦这些应用出现性能瓶颈,仅靠传统的日志和指标可能无法定位问题的根本原因。 从 .NET Core 3 开始,微软推出了一系列跨平台的运行时诊断工具,比如: dotnet-coun 阅读全文
posted @ 2025-05-20 12:30 chester·chen 阅读(978) 评论(0) 推荐(11)
WinDbg 分析 .NET Dump 线程锁问题
摘要:在定位 .NET 应用程序中的高 CPU 占用问题时,WinDbg 是非常强大的工具之一,尤其配合 SOS 扩展使用可以快速锁定“忙线程”或死锁等问题。 本文将基于一次实际的分析流程,演示如何一步步定位由线程锁引起的 CPU 高占用。 1. 加载 SOS 扩展(针对 .NET) 首先,我们需要加载 阅读全文
posted @ 2025-05-24 11:56 chester·chen 阅读(711) 评论(0) 推荐(4)