【ASP.NET Core】AddMvc和AddMvcCore的区别
程序员文章站
2023-12-02 12:30:22
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中URL Routing和IIS上URL Rewriting的区别
-
Asp.Net Core 轻松学-HttpClient的演进和避坑
-
【ASP.NET Core】AddMvc和AddMvcCore的区别
-
ASP.NET中URL Routing和IIS上URL Rewriting的区别
-
Asp.Net Core中服务的生命周期选项区别与用法详解
-
asp.net和php的区别点总结
-
ASP.NET Core单文件和多文件上传并保存到服务端的方法
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新
-
ASP.NET Core环境变量和启动设置的配置教程
-
【ASP.NET Core】AddMvc和AddMvcCore的区别