.NET 8 Host 的一些更新

Intro

.NET 8 里针对 Host 做了一些更新,除了前面提到的 IHostedLifecycleService 之外,还支持的 HostedService 的并发地启动和停止,还抽象了在 .NET 7 开始支持的 HostApplicationBuilder 引入了 IHostApplicationBuilder API,并且引入了一个 Host.CreateEmptyApplicationBuilder 来简化配置一个空的 Host

阅读剩余部分

.NET 8 Preview 7 中 JsonNode 的一些优化

Intro

在 .NET 8 preview 7 中对于 System.Text.Json 也做了一些优化,有一些针对 JsonNode 的新 API,我们来看下示例

Sample

DeepClone &&DeepEquals

新增了 DeepClone 来 clone 一个全新的 JsonNode,和 JsonNode.DeepEquals 来比较两个 JsonNode 的内容是否一致,在之前的版本中可能一般会通过 JsonNode 的 ToJsonString() 获取 JSON 字符串来进行比较,有了这个 API 之后就可以直接比较两个 JsonNode

阅读剩余部分

.NET 8 中的 KeyedService

Intro

.NET 8 在 Preview 7 中引入了 KeyedService 支持,以后我们可以方便支持按 name 来获取 service 了,有些情况下就不用自己创建一个 factory 了。

Sample

GetStarted

来看使用一个基本的使用示例:

阅读剩余部分

ASP.NET Core 内置的Tag Helpers

ASP.NET Core 框架内置了大量的Tag Helpers,以asp-*前缀开始,他们用于增强表单,验证消息,设计布局等,在这节中我们将继续讨论内置的Tag Helpers,例如表单控件,输入控件,选择控件,标签控件,锚点标签,文本控件,CSS,JS 和Cache

1 Form帮助标签

ASP.NET Core表单控件用来增强原始HTML表单的健壮性和高效性,当业务发生变化时这些表单的可维护性很高,这些标记为表单生成action属性以及隐藏的请求验证令牌,以防止跨站点伪造请求

阅读剩余部分