.NET 11 - 尝试一下Minimal API中的异步验证新特性

发布时间:2026/10/15 17:45:26
.NET 11 - 尝试一下Minimal API中的异步验证新特性 1. 简单介绍.NET 11 RC2(Release Candidate 2)版本已经在2026-10-13这天发布了这个版本仍然只支持在Visual Studio 2026 Insiders 和 Visual Studio Code(安装了C# Dev Kit.NET extension)中进行使用。同时.NET Conf 2026大会将会在2026年11月份举办(11/10-11/13)到时微软将会发布.NET11正式版这是一个STS版本(Standard Term Support), 微软提供两年支持。.NET11在Runtime, SDK, ASP.NET CoreMAUI以及WinForm等方面都有很多新特性发布。这边只简单尝试一下.NET 11 Minimal API的异步验证新特性。2.准备阶段假定已经安装好了Visual Studio 2026 Insiders和.NET 11 SDK可以通过下方链接进行安装Visual Studio 2026 Insiders.NET 11 Release Candidate 23. 异步验证在Web应用程序中经常会碰到需要异步验证的场景比如用户注册时候的邮箱验证问卷调查是否有重复提交等。既可以通过Javascript异步调用后端webapi进行验证也可以在后端自定义Attribute的方式来验证的。在.NET 11 Minimal API中微软也提供了两个Asynchronous DataAnnotations APIs分别是AsyncValidationAttribute和IAsyncValidatableObject。我们可以继承AsyncValidationAttribute或者实现接口IAsyncValidatableObject来自定义验证逻辑。3.1 创建应用程序1) 假定已经有一个UserService和IUserService其中方法EmailExistsAsync用于验证邮箱的唯一性。方法中使用了Task.Delay用来模拟对远程web api的调用。2) 创建一个自定义UniqueEmailAttribute继承自AsyncValidationAttribute同时重写一下抽象方法IsValidAsync对于同步的抽象方法IsValid直接抛出异常即可。3在IOC容器中注册一下UserService4) 添加一个类在Email property上配置UniqueEmailAttribute4) 配置validation中间件同时创建端点(/register)如下图所示3.2 运行一下1) 使用dotnet run命令运行项目打开swagger UI界面2) 输入一个已经存在的email然后点击Execute按钮如下图所示3) 最后返回了预期的异步验证错误信息4) 如果输入一个不存在的email则Minimal api返回200状态码4. 其他如果是实现接口IAsyncValidatableObject的方式来自定义异步验证逻辑则需要实现一下ValidateAsync方法5.总结本文简单尝试了一下Minimal API的异步验证功能。当前.NET11已经进入Release Candidate 2阶段还需进一步学习一下新特性。本文如果哪里有错误麻烦告之谢谢谢谢

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询