ASP.NET Core中AddMvc和AddMvcCore哪个更适合构建完整的MVC应用?

2026-03-30 11:421阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计474个文字,预计阅读时间需要2分钟。

ASP.NET Core中AddMvc和AddMvcCore哪个更适合构建完整的MVC应用?

%E2%80%9CAddMvcCore%28%29%E6%96%B9%E6%B3%95%E4%BB%85%E6%B7%BB%E5%8A%A0%E4%BA%86MVC%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E3%80%82%E8%80%8CAddMvc%28%29%E6%B7%BB%E5%8A%A0%E4%BA%86MVC%E6%89%80%E9%9C%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E3%80%82AddMvc%28%29%E6%96%B9%E6%B3%95%E5%86%85%E9%83%A8%E8%B0%83%E7%94%A8%E4%BA%86AddMvcCore%28%29%E6%96%B9%E6%B3%95%E3%80%82%E2%80%9CAddMvcCore%28%29%E6%9B%B4%E5%8A%A0%E7%AE%80%E6%B4%81%EF%BC%8C%E5%8F%8C%E5%90%91%E6%B7%BB%E5%8A%A0%E4%BA%86MVC%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E3%80%82%E2%80%9CAddMvc%28%29%E6%B7%BB%E5%8A%A0%E4%BA%86%E6%89%80%E9%9C%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E3%80%82%E2%80%9C

AddMvcCore() method only adds the core MVC services.

AddMvc() method adds all the required MVC services.

ASP.NET Core中AddMvc和AddMvcCore哪个更适合构建完整的MVC应用?

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 AddMvc vs AddMvcCore

本文共计474个文字,预计阅读时间需要2分钟。

ASP.NET Core中AddMvc和AddMvcCore哪个更适合构建完整的MVC应用?

%E2%80%9CAddMvcCore%28%29%E6%96%B9%E6%B3%95%E4%BB%85%E6%B7%BB%E5%8A%A0%E4%BA%86MVC%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E3%80%82%E8%80%8CAddMvc%28%29%E6%B7%BB%E5%8A%A0%E4%BA%86MVC%E6%89%80%E9%9C%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E3%80%82AddMvc%28%29%E6%96%B9%E6%B3%95%E5%86%85%E9%83%A8%E8%B0%83%E7%94%A8%E4%BA%86AddMvcCore%28%29%E6%96%B9%E6%B3%95%E3%80%82%E2%80%9CAddMvcCore%28%29%E6%9B%B4%E5%8A%A0%E7%AE%80%E6%B4%81%EF%BC%8C%E5%8F%8C%E5%90%91%E6%B7%BB%E5%8A%A0%E4%BA%86MVC%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E3%80%82%E2%80%9CAddMvc%28%29%E6%B7%BB%E5%8A%A0%E4%BA%86%E6%89%80%E9%9C%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E3%80%82%E2%80%9C

AddMvcCore() method only adds the core MVC services.

AddMvc() method adds all the required MVC services.

ASP.NET Core中AddMvc和AddMvcCore哪个更适合构建完整的MVC应用?

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 AddMvc vs AddMvcCore