asp.net 非.net core项目添加autofac,实现控制反转

1.添加nuget包autofac,如果web项目为mvc的,还需要一个autofac.mvc包

2.创建一个autofac注入类:AutoFacConfig,名字按自己的命名习惯起即可:

public class AutoFacConfig
    {
        public static void Register()
        {
            var builder = new ContainerBuilder();

            builder.RegisterControllers(Assembly.GetCallingAssembly());//注册mvc的Controller

            
            //注入BLL,UI中使用
            builder.RegisterAssemblyTypes(Assembly.Load("Gdky.TJ.Bll"))
                .AsImplementedInterfaces()  //是以接口方式进行注入
                .InstancePerRequest();       //每次http请求

            //注入DAL,BLL层中使用
            builder.RegisterAssemblyTypes(Assembly.Load("Gdky.TJ.Dal")).AsImplementedInterfaces()
                .InstancePerRequest(); 

            //Cache的注入,使用单例模式
            //builder.RegisterType<RedisCacheManager>()
            //    .As<ICacheManager>()
            //    .SingleInstance()
            //    .PropertiesAutowired();

            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
    }

这种注入方式,需要bll层生成的dll文件在web项目的bin目录下。

3.在全局Global.asax中配置一下,使其在项目启动的时候完成注入

 public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AutoFacConfig.Register();//autofac:控制反转,依赖注入配置
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨中深巷的油纸伞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值