在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-22 20:10:06