builder.Services.AddControllers() 到底做了什么?

g.p*_*dou 6 asp.net-core asp.net-core-webapi

当我创建一个新的 ASP.NET Core 6/7 WebApi 项目并在 VS 2022 中选中“使用控制器...”选项时,此行出现在Program.cs

builder.Services.AddControllers();
Run Code Online (Sandbox Code Playgroud)

脚手架WeatherForecastController工作正常。但是如果我评论这一行

// builder.Services.AddControllers();
Run Code Online (Sandbox Code Playgroud)

仍然一切正常。

问题:具体是builder.Services.AddControllers()做什么的?

小智 -3

builder.Services.AddControllers()配置与控制器相关的服务,例如处理 HTTP 请求、模型绑定、验证、内容协商等。它还注册路由和处理 HTTP 请求所需的依赖项。