.NET 10 是微软开发的.NET框架的最新版本,它旨在提供更好的性能、更高的安全性和更丰富的功能。以下是.NET 10的一些主要特点:1. **性能提升**:.NET 10 在性能方面进行了大量优化,包括改进的JIT编译器、更快的垃圾回收器以及更高效的
摘要:上一篇文章给大家分享了 .NET 10 & C# 14 New Features 新增功能介绍-.NET CLI工具改进 本篇文章接续给大家分享ASP.NET Core的一些增强: 一、Minimal API 内置参
上一篇文章给大家分享了
.NET 10 & C# 14 New Features 新增功能介绍-.NET CLI工具改进
本篇文章接续给大家分享ASP.NET Core的一些增强:
一、Minimal API 内置参数验证(Built-in validation for Minimal APIs)
在以前的版本中,Minimal API 默认不会自动执行 DataAnnotations 验证,通常需要:
手动调用 Validator
使用 FluentValidation
或写 Middleware / Filter
而在 .NET 10 中,Minimal API 可以自动执行模型验证,和 MVC Controller 的行为一致。
使用 DataAnnotations注解:
public class UserDto
{
[Required]
public string Name { get; set; }
[Range(1,120)]
public int Age { get; set; }
}
Minimal API:
app.MapPost("/users", (UserDto dto) =>
{
return Results.Ok(dto);
});
如果请求:
{
"age": 200
}
系统会 自动返回 400:
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "One or more validation errors occurred.",
"errors": {
"Name": ["The Name field is required."],
"Age": ["The field Age must be between 1 and 120."]
}
}
这个自动校验的触发机制是这样的
ASP.NET Core 会在 Endpoint Binding 阶段执行:
Request Body → Model Binding
DataAnnotations Validation
如果失败 → 自动返回 400 ValidationProblem
如果成功 → 进入 Handler
二、新增了对 Server-Sent Events(SSE) 的原生支持
在 ASP.NET Core 的 .NET 10 中,新增了对 Server-Sent Events(SSE) 的原生支持,可以通过
TypedResults.ServerSentEvents 直接返回 实时数据流。
这让 Minimal API 实现实时推送变得非常简单,无需使用 WebSocket 或 SignalR。
