【ASP.NET Core】AddMvc和AddMvcCore的区别
程序员文章站
2023-10-19 11:19:05
AddMvcCore() method only adds the core MVC services. AddMvc() method adds all the required MVC services. AddMvc() method calls AddMvcCore() method int ......
addmvccore() method only adds the core mvc services.
addmvc() method adds all the required mvc services.
addmvc() method calls addmvccore() method internally.
addmvccore()更加简洁,只添加了mvc核心服务。
而addmvc()添加了mvc所需要的所有组件。
addmvc()内部调用了addmvccore(),这也就使得addmvccore()更加重要。
asp.net是开源项目,>github地址
贴出addmvc源码会更加清楚。
public static imvcbuilder addmvc(this iservicecollection services) { if (services == null) { throw new argumentnullexception(nameof(services)); } var builder = services.addmvccore(); // 从这里开始,都是以addmvccore()为基础进行添加的各种服务。 builder.addapiexplorer(); builder.addauthorization(); adddefaultframeworkparts(builder.partmanager); // order added affects options setup order // default framework order builder.addformattermappings(); builder.addviews(); builder.addrazorviewengine(); builder.addrazorpages(); builder.addcachetaghelper(); // +1 order builder.adddataannotations(); // +1 order // +10 order builder.addjsonformatters(); builder.addcors(); return new mvcbuilder(builder.services, builder.partmanager); }
addmvccore源码:
1 public static imvccorebuilder addmvccore(this iservicecollection services) 2 { 3 if (services == null) 4 { 5 throw new argumentnullexception(nameof(services)); 6 } 7 8 var partmanager = getapplicationpartmanager(services); 9 services.tryaddsingleton(partmanager); 10 11 configuredefaultfeatureproviders(partmanager); 12 configuredefaultservices(services); 13 addmvccoreservices(services); 14 15 var builder = new mvccorebuilder(services, partmanager); 16 17 return builder; 18 }
推荐阅读
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新
-
ASP.NET Core环境变量和启动设置的配置教程
-
【ASP.NET Core】AddMvc和AddMvcCore的区别
-
基于Asp.Net Core MVC和AdminLTE的响应式管理后台之侧边栏处理
-
c# asp.net core取当月第一天和最后一天及删除最后一个字符的多种方法
-
.NET Core 3.0预览版7中的ASP.NET Core和Blazor更新
-
一张图搞定 .NET Framework, .NET Core 和 .NET Standard 的区别
-
为什么ASP.NET Core 数据库连接串的值和appsettings.json配的不一样?
-
为什么ASP.NET Core 数据库连接串的值和appsettings.json配的不一样?
-
asp.net core系列 23 EF模型配置(概述, 类型和属性的包含与排除)