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源码:

  

 public static IMvcCoreBuilder AddMvcCore(this IServiceCollection services)
{
if (services == null)
{
throw new ArgumentNullException(nameof(services));
} var partManager = GetApplicationPartManager(services);
services.TryAddSingleton(partManager); ConfigureDefaultFeatureProviders(partManager);
ConfigureDefaultServices(services);
AddMvcCoreServices(services); var builder = new MvcCoreBuilder(services, partManager); return builder;
}

转自油管>ASP NET Core AddMvc vs AddMvcCore

最新文章

  1. Python 修饰符
  2. 导致VC不能释放的几个原因
  3. jQuery经典学习笔记
  4. ASCIL码和字符的转换
  5. linux中的开机和关机命令
  6. (九)play之yabe项目【发表博文】
  7. cut mysqladmin
  8. hadoop测试环境主配置简例
  9. 09_Java8操作集合的一些新特性
  10. iOS学习笔记(十六)——数据库操作(使用FMDB)
  11. async函数解析
  12. IE各个版本的差异性
  13. HBase MVCC 机制介绍
  14. 【转载】C#防SQL注入过滤危险字符信息
  15. python 微信跳一跳辅助 复现
  16. shell获取帮助
  17. 读C#程序最小公倍数答案就是:2123581660200
  18. #Plugin 环形loading插件
  19. J1850 Implement
  20. Java 基本概念

热门文章

  1. 【GZOI 2019】特技飞行
  2. JQuery 基本使用、操作样式、简单动画
  3. 开源资产管理系统Snipe-IT
  4. HA: Infinity Stones Vulnhub Walkthrough
  5. 关联mysql失败_Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon'
  6. Java面向对象之继承(一)
  7. ASP.NET Core gRPC 入门全家桶
  8. 精通awk系列(7):awk读取行的细节
  9. HTML入门(转义字符、行内样式和块级元素、定位、锚点、跑马灯标签、图片标签、表格标签的讲解)
  10. 升级python2.7至python3.7