Using AUTOFAC in the ASP. NET Web API
1. Install Autofac.webapi with NuGet (AUTOFAC 3.1.0 installed at that time)
PM > Install-package Autofac.webapi
2. Create a new Autofacwebapiconfig class under the App_start folder
Public classAutofacwebapiconfig { Public Static voidRun () {Setautofacwebapi (); } Private Static voidSetautofacwebapi () {Containerbuilder builder=NewContainerbuilder (); Httpconfiguration Config=globalconfiguration.configuration; //Register API controllers using assembly scanning.Builder. Registerapicontrollers (assembly.getexecutingassembly ()); Builder. Registertype<ValueService> (). As<ivalueservice>() . Instanceperapirequest (); varcontainer =Builder. Build (); //Set the WebApi dependency resolver.Config. Dependencyresolver =NewAutofacwebapidependencyresolver (container); }
3. Add the following code to global
protected void Application_Start () { arearegistration.registerallareas (); Webapiconfig.register (globalconfiguration.configuration); Filterconfig.registerglobalfilters (globalfilters.filters); Routeconfig.registerroutes (routetable.routes); Bundleconfig.registerbundles (bundletable.bundles); //call autofac DI configurations autofacwebapiconfig.run (); }
Using AUTOFAC to implement dependency injection on the ASP.