[NetCore]依赖注入

Posted 厦门德仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[NetCore]依赖注入相关的知识,希望对你有一定的参考价值。

背景

今天在做权限过滤器时,需要根据userid获取菜单列表。直接写一个方法在过滤器中。
突然感觉怪怪的,能否分离呢?假设我这个获取菜单列表在HomeController也同样被使用。是否可以采取注入方式呢?

分离

拆分成接口和服务:
interface和service

注入Filter

        private readonly ISysMenuService sysMenuService;
        public PermissionActionFilterAttribute(ISysMenuService sysMenuService)
        
            this.sysMenuService = sysMenuService;
        

服务配置

此处为演示简单Singleton模式或者采用第三方组件autofac

            #region 支持Filter依赖注入
            services.AddSingleton<PermissionActionFilterAttribute>();
            #endregion
            #region IOC注册抽象和具体的依赖关系
            services.AddSingleton<ISysMenuService, SysMenuService>();
            #endregion

以上是关于[NetCore]依赖注入的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 依赖注入(DI)

ASP.Net Core 使用啥依赖注入框架?

利用ASP.netCore自带DI(DependencyInjection)实现批量依赖注入

NetCore+Dapper WebApi架构搭建:仓储的依赖注入

NetCore+Dapper WebApi架构搭建:仓储的依赖注入

ASP.NETCore使用AutoFac依赖注入