在Nuget下运行命令安装引用
Install-Package Autofac -Version 3.1.0
Install-Package Autofac.Mvc4
public static void RegisterAutofac() { ContainerBuilder builder = new ContainerBuilder(); ////倘若需要默认注册所有的,请这样写(主要参数需要修改) //builder.RegisterControllers(Assembly.GetExecutingAssembly()); #region IOC注册区域 //获得基类 var baseType = typeof(IDependency); //获得当前应用程序的所有类型 var assmblys = AppDomain.CurrentDomain.GetAssemblies().ToList(); builder.RegisterControllers(assmblys.ToArray()); //如果当前应用程序与基类相关就注册。 builder.RegisterAssemblyTypes(assmblys.ToArray()) .Where(t => baseType.IsAssignableFrom(t) && t != baseType) .AsImplementedInterfaces().InstancePerDependency(); #endregion var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }
AutoFac自动注册代码,项目成功上线后更改为手动注册可以加快效率
在global.aspx.cs中调用自动注册代码就可实现依赖注入
RegisterAutofac();
最后在Controllers中对应使用构造函数即可使用网上已有现成例子不复数了如此简单的环境即搭建成功
时间: 2024-10-31 19:27:40