Autofac使用

Posted 奎宇工作室

tags:

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

1引用dll

 autofac.dll 

 autofac.integration.mvc.dll

 protected void Application_Start()
        {
              var builder = RegisterService();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(builder.Build()));

        }


   private ContainerBuilder RegisterService()
        {
            var builder = new ContainerBuilder();

            var baseType = typeof(IDependency);
            var assemblys = AppDomain.CurrentDomain.GetAssemblies().ToList();
            var AllServices = assemblys
                .SelectMany(s => s.GetTypes())
                .Where(p => baseType.IsAssignableFrom(p) && p != baseType);

            builder.RegisterControllers(assemblys.ToArray());

            builder.RegisterAssemblyTypes(assemblys.ToArray())
                   .Where(t => baseType.IsAssignableFrom(t) && t != baseType)
                   .AsImplementedInterfaces().InstancePerLifetimeScope();
            return builder;
        }
2global.asax.cs里配置

3控制器里使用的例子

IUserService userService;
public HomeController(IUserService _userSerivce)
{
    userService=_userServicve;
}
 
例子

 

以上是关于Autofac使用的主要内容,如果未能解决你的问题,请参考以下文章

csharp autofac webapi配置,在dll加载时预处理。

在后台业务管理系统中使用Autofac实现微信接口的处理

autofac 使用

CS.动态加载DLL.动态生成.运行代码.BS.AutoFac管理实现类

c# autofac结合WebApi的使用

Autofac 中间件使用