private IDependencyResolver buildDependencyResolver(AppSettingsProvider appSettings) { var builder = new ContainerBuilder(); // Register all MVC controllers. builder.RegisterControllers(typeof(MvcApplication).Assembly); // OPTIONAL: Register model binders that require DI. //builder.RegisterModelBinders(Assembly.GetExecutingAssembly()); //builder.RegisterModelBinderProvider(); // OPTIONAL: Register web abstractions like HttpContextBase. builder.RegisterModule <AutofacWebTypesModule>(); // OPTIONAL: Enable property injection in view pages. //builder.RegisterSource(new ViewRegistrationSource()); // OPTIONAL: Enable property injection into action filters. //builder.RegisterFilterProvider(); builder.RegisterType <MausrDb>() //.As<Idb>() .InstancePerRequest(); builder.Register(x => appSettings) .As <AppSettingsProvider>() .SingleInstance(); var tsm = new TrainStorageManager(appSettings); builder.Register(x => tsm) .As <TrainStorageManager>() .SingleInstance(); var evaluator = new CurrentEvaluator(tsm); builder.Register(x => evaluator) .As <CurrentEvaluator>() .SingleInstance(); var captcha = new ReCaptcha(PrivateData.ReCaptchaPublic, PrivateData.ReCaptchaPrivate); builder.Register(x => captcha) .As <ICaptcha>() .SingleInstance(); var container = builder.Build(); return(new AutofacDependencyResolver(container)); }
public TeachController(MausrDb db, CurrentEvaluator evaluator) { this.db = db; this.evaluator = evaluator; }
public TrainController(MausrDb db, TrainStorageManager trainStorageManager, CurrentEvaluator evaluator) { this.db = db; this.trainStorageManager = trainStorageManager; this.evaluator = evaluator; }
public HomeController(MausrDb db, CurrentEvaluator evaluator, ICaptcha captcha) { this.db = db; this.evaluator = evaluator; this.captcha = captcha; }