I am trying to implement Dependency injection in my Global.asax
file. Below is the code-
public class MvcApplication : System.Web.HttpApplication
{
private readonly IJobTimerBS _objTimer;
// want to replace this constructor injection code. How ????
//public MvcApplication(IJobTimerBS jobTimerBS)
//{
// _objTimer = jobTimerBS;
//}
protected void Application_Start()
{
UnityConfig.RegisterComponents();
processingTimer_Elapsed();
}
void processingTimer_Elapsed()
{
_objTimer.QuoteDeleteJobTimer();
}
}
Code in Business layer-
public class JobTimerBS : IJobTimerBS
{
private readonly IUnitofWork _unitOfWork;
private IJobTimerRepository _jobTimerRepository;
public JobTimerBS(IJobTimerRepository jobTimerRepository, IUnitofWork unitOfWork)
{
_unitOfWork = unitOfWork;
_jobTimerRepository = jobTimerRepository;
_jobTimerRepository.UnitOfWork = unitOfWork;
}
public void QuoteDeleteJobTimer()
{
_jobTimerRepository.JobTimer();
}
}
My question is how can I implement the dependency injection in this case when I can't use constructor injection. How to instantiate the JobTimerBS
class in Global.asax
present in Business layer.