netframework webapi使用autofac依赖注入,首先需要安装autofac以及Autofac.WebApi2两个nuget包。
然后在注册使用:
var builder = new ContainerBuilder(); builder.RegisterType<WxTemplate>().As<IWxTemplate>(); //需要将你要交给IOC容器的控制器注册到autofac,否则会报错 builder.RegisterApiControllers(Assembly.GetAssembly(typeof(u_NewsPageController))); config.DependencyResolver = new AutofacWebApiDependencyResolver(builder.Build());
然后在控制器里就可以使用依赖注入:
public class u_NewsPageController : BaseApiController { private readonly IWxTemplate _wxTemplate; //public u_NewsPageController() //{ // _wxTemplate = (IWxTemplate)GlobalConfiguration.Configuration.DependencyResolver.GetService(typeof(IWxTemplate)); //} public u_NewsPageController(IWxTemplate wxTemplate) { _wxTemplate = wxTemplate; } }