You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Minimal API与传统控制器能否混用?高负载场景是否有性能收益?

问题1:是否可以在同一项目中同时使用Minimal API与常规API端点?

完全可以,两者不存在互斥限制,ASP.NET Core原生支持两种模式共存。
你只需要在项目启动配置中同时保留两种端点的注册逻辑即可,示例配置如下:

var builder = WebApplication.CreateBuilder(args);
// 注册传统控制器相关服务
builder.Services.AddControllers();
var app = builder.Build();
// 映射传统控制器端点
app.MapControllers();
// 新增/改造Minimal API端点,两者路由互不冲突
app.MapGet("/highload/endpoint1", () => Results.Ok("高负载接口1返回结果"));
app.MapPost("/highload/endpoint2", (InputDto dto) => Results.Ok(ProcessData(dto)));
app.Run();

原有十余个低负载控制器不需要做任何修改,可正常对外提供服务。

问题2:将2个高负载接口改用Minimal API实现是否能够获得性能收益?

绝大多数场景下都可以获得可观测的性能提升,你提到的15%左右的性能提升符合官方及社区的通用测试结果。
性能提升的核心原因是Minimal API砍掉了传统Controller API的大量冗余开销:

  • 无需实例化控制器类,省去了对象创建、GC回收的开销
  • 跳过了传统控制器默认加载的大量拦截器、过滤器的冗余判断逻辑
  • 模型绑定、参数解析逻辑做了轻量化优化,省去了反射调用的额外开销

如果你的高负载接口本身逻辑偏轻、调用频率极高,性能提升幅度甚至会高于15%;如果接口内部存在大量IO阻塞、复杂业务计算占主要耗时,提升比例会有所降低,但不会产生负收益。


内容的提问来源于stack exchange,提问作者tlt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:24:06