AddMvcCore,AddControllers,AddControllersWithViews,AddRazorPages的区别

本文詳細解析ASP.NET Core中五種MVC相關服務註冊方式:AddMvcCore(), AddControllers(), AddRazorPages(), AddControllersWithViews(), AddMvc()。每種註冊方式所包含的功能與應用場景,適合不同開發需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 1.services.AddMvcCore()

只註冊運行 Controller/Razor Pages 必要的核心服務,確保 Pipeline 程序可動作,其餘如像 Data Annotation Model Validation、身分驗證等服務要自己加掛,除有特殊客製需求,一般不太常用。

 

2.services.AddControllers()

包含 AddMvcCore() 所做的動作外,再加上:

  1. 身分驗證服務
  2. Swagger/Open API 等 API 文件動態產生功能
  3. Data Annotation - 支援 Attribute 資料檢核及 IValidateObject
  4. Formatter Mapping - 依 Request 需求提供不同格式(JSON/XML)內容
  5. CORS - 支援跨網域整合

要用 Controller 但不會用到 View,例如純 WebAPI,可以選這個

 

3.services.AddRazorPages()

包含 AddMvcCore() 所有功能,再加上:

  1. Razor Pages 功能
  2. 身分驗證服務
  3. Data Annotation - 支援 Attribute 資料檢核及 IValidateObject
  4. Cache Tag Helper

 

4.services.AddControllersWithViews()

包含 AddControllers() 的所有項目,再加上:

  1. cshtml Razor View
  2. Cache Tag Helper

要使用標準 Model + View + Controller 架構,通常就選這個

 

5.services.AddMvc()

等於 AddControllersWithViews() 加 AddRazorPages(),不想漏掉功能發揮 ASP.NET Core 最大威力,選這個就對了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值