zoukankan      html  css  js  c++  java
  • 【ASP.NET Core】AddMvc和AddMvcCore的区别

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

  • 相关阅读:
    oracle 增加列
    20120621 myeclipse 远程调试
    plsql 参数中in out in的区别讲解
    20120606 随笔
    MYSQL申明变量&显示变量
    arcgis for flex 地图发布服务
    arcserver 地图发布过程
    arcserver 发布地图后浏览器不更新问题
    把一个表的一列插入另一个表的空字段
    mysql运行语句时出现 FUNCTION *** does not exist
  • 原文地址:https://www.cnblogs.com/braink-1400/p/11316977.html
Copyright © 2011-2022 走看看