【ASP.NET Core】AddMvc和AddMvcCore的区别
2024-10-11 19:11:39
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
最新文章
- Python 修饰符
- 导致VC不能释放的几个原因
- jQuery经典学习笔记
- ASCIL码和字符的转换
- linux中的开机和关机命令
- (九)play之yabe项目【发表博文】
- cut mysqladmin
- hadoop测试环境主配置简例
- 09_Java8操作集合的一些新特性
- iOS学习笔记(十六)——数据库操作(使用FMDB)
- async函数解析
- IE各个版本的差异性
- HBase MVCC 机制介绍
- 【转载】C#防SQL注入过滤危险字符信息
- python 微信跳一跳辅助 复现
- shell获取帮助
- 读C#程序最小公倍数答案就是:2123581660200
- #Plugin 环形loading插件
- J1850 Implement
- Java 基本概念
热门文章
- 【GZOI 2019】特技飞行
- JQuery 基本使用、操作样式、简单动画
- 开源资产管理系统Snipe-IT
- HA: Infinity Stones Vulnhub Walkthrough
- 关联mysql失败_Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon'
- Java面向对象之继承(一)
- ASP.NET Core gRPC 入门全家桶
- 精通awk系列(7):awk读取行的细节
- HTML入门(转义字符、行内样式和块级元素、定位、锚点、跑马灯标签、图片标签、表格标签的讲解)
- 升级python2.7至python3.7