Dependency Injection using Unity in Global.asax

2.2k Views Asked by At

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.

0

There are 0 best solutions below