asp.net mvc5 Autofac 依赖注入

来源:互联网 发布:网络课件设计师工资 编辑:程序博客网 时间:2024/06/05 18:41
public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);


            //Autofac依赖注入
            var builder = new ContainerBuilder();
            Type baseType = typeof(IServiceBase);
            var assembly = AppDomain.CurrentDomain.GetAssemblies().ToList();
            builder.RegisterAssemblyTypes(assembly.ToArray()).Where(t => baseType.IsAssignableFrom(t) && t != baseType).AsImplementedInterfaces().InstancePerLifetimeScope();
            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));//这句最重要,提供注入点
            
        }

    }


    /// <summary>
    /// 基类接口,任何的业务接口都需要从此接口扩展
    /// 此接口为空,主要用于【Autofac】和【Autofac.Mvc5(Autofac.Integration.Mvc)】依赖注入规则
    /// </summary>
    public interface IServiceBase
    {

    }

原创粉丝点击