public class TeamsController : Controller
{
private readonly ITeamRepository teamRepository;
public TeamsController(ITeamRepository teamRepository)
{
this.teamRepository = teamRepository;
}
....
}
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<alias alias="Singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity"/>
<alias alias="Transient" type="Microsoft.Practices.Unity.TransientLifetimeManager, Microsoft.Practices.Unity"/>
<alias alias="ITeamRepository" type="PrecisionPrinting.OneFlow.WebAPI.Models.ITeamRepository, PrecisionPrinting.OneFlow.WebAPI" />
<alias alias="TeamRepository" type="PrecisionPrinting.OneFlow.WebAPI.Models.TeamRepository, PrecisionPrinting.OneFlow.WebAPI" />
<container>
<register type="ITeamRepository" mapTo="TeamRepository" name="teamRepository" />
<register type="PrecisionPrinting.OneFlow.WebAPI.Controllers.TeamsController, PrecisionPrinting.OneFlow.WebAPI">
<lifetime type="Transient" />
<constructor>
<param name="teamRepository" >
<dependency type="TeamRepository"/>
</param>
</constructor>
</register>
</container>
</unity>
//Create unitycontainer
IDependencyResolver ioc = new UnityDependencyResolver();
//Registration
ioc.Register<ITeamRepository>(new TeamRepository());
//Mandatory line
IDependencyResolver ioc = new UnityDependencyResolver();
//below line is required if you don't use web.config file to register.
ioc.Register<ITeamRepository>(new TeamRepository());
////below line should be added if you want Unity in WEB API controllers.
ControllerBuilder.Current.SetControllerFactory(new ControllerFactory(ioc));
//below line should be added if you want Unity in WEB API controllers.
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver();
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver();
ControllerFactory.cs
Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.
Comments (0)