AddMvc与AddMvcCore基本说明
在NetCore或者Net5,Net6等版本中注册Mvc应用,通常用有两种方法
AddMvc以及AddMvcCore
AddMvc、AddMvcCore都是IServiceCollection的扩展方法
AddMvcCore是Mvc架构下的一些核心方法,比如不需要视图或者Razor这样的模板引擎时,直接返回比如Api这一类的服务时就可以直接使用AddMvcCore。
AddMvcCore或者AddMvc通过 ApplicationPartManager 这样的方法,来获取所有的其他Dll被引用到MVC框架,通过ApplicationPartManager 来扫描所有的dll继承于Controller的所有的类,并注册到系统中。
ApplicationPartManager这个类也是插件式开发的一个核心类,通过他自动组装来自于其他插件dll中的Controller,从页形成插件体系
AddMvc常见参数说明
AddMvc最重要的MvcOption,对当前的Mvc架构进行相关的配置
最重要的包含以下几个方面
Filters:设置全局过滤器,包含授权过滤器或者异常过滤器,或者日志过滤器
ModelBinders : Model绑定设置
ModelValidatorProviders : Model检验设置
例:
Filters应用之一:绑定日志过滤器以及授权过滤器
var mvcBuilder = services
.AddMvc(o =>
{
// 启用原终端路由中止
o.EnableEndpointRouting = false;
//加上过滤器
o.Filters.Add();
o.Filters.Add();
})
其中 AdfPcExceptionActionFilter 为异常过滤器,当Controller或者View发生异常时这个过滤器将捕获异常进行统一化处理。
AdfPcLogActionFilter:为日志过滤器,用户在访问每个Controller以及Action的时候将都会记录访问日志
关键词:NetCore注册Mvc的办法