WebApi中的Autofac
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebApi中的Autofac相关的知识,希望对你有一定的参考价值。
1.首先引用两个包
install-package autofac install-package autofac.webapi2
2./App_Start/IocConfig.cs
在这个类里对依赖注入初始化
using Autofac; using Autofac.Integration.WebApi; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Web; using System.Web.Http; namespace WebApiAutoFac.App_Start { public class IocConfig { public static void RegisterDependencies() { ContainerBuilder builder = new ContainerBuilder(); HttpConfiguration config = GlobalConfiguration.Configuration; //获取正在执行的程序集 builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); //获取要注册的类的程序集 Assembly[] assemblies = new Assembly[] { Assembly.Load("BLL") }; //开始注册 builder.RegisterAssemblyTypes(assemblies).AsImplementedInterfaces(); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); } } }
3.Global 中调用上一步的初始化代码
//依赖注入 IocConfig.RegisterDependencies();
4.构造函数中自动注入
public class ProductController : ApiController { private IProductInfoRepository _productInfoRepository; //在构造函数中自动注入 public ProductController(IProductInfoRepository productInfoRepository) { _productInfoRepository = productInfoRepository; } }
以上是关于WebApi中的Autofac的主要内容,如果未能解决你的问题,请参考以下文章
.net webapi+autofac+autoMapper 单元测试