static void Main(string[] args) { Console.WriteLine("Starting..."); var container = DiSetup.GetContainer(new FileLogWriter("Jobs")); container.Setup(s => s.For <ISession>().Use <JobSession>()); container.Setup(s => s.For <IDataRepository>().Use <ElsaJobRepo>()); container.Setup(s => s.For <ElsaJobsScheduler>().Use <ElsaJobsScheduler>()); var user = ConfigurationManager.AppSettings["robotLogin"]; var password = ConfigurationManager.AppSettings["robotPassword"]; Console.WriteLine("Creating container..."); using (var locator = container.GetLocator()) { Console.WriteLine("Container created"); var session = (locator.Get <ISession>() as JobSession); if (session == null) { throw new InvalidOperationException("Cannot instatiate session"); } session.Login(user, password); Console.WriteLine("Authenticated, starting scheduler"); var scheduler = locator.Get <ElsaJobsScheduler>(); scheduler.Start(); } }