using System.Reflection; using System.Web.Mvc; using ApacKernel; using ApacKernel.Authentication; using ApacKernel.Web.Cookies; using ApacKernel.Web.MVC; using ApacKernel.Web.Session; using ApacSale.Authentication; using Autofac; using Autofac.Integration.Mvc; using Now.Business.Clients; using Now.Web.Services; namespace Now.Web { public static class DependencyInjection { public static void Configure() { #if DEBUG ConfigureForDebug(); #else ConfigureForRelease(); #endif } public static void ConfigureForDebug() { ConfigureDependencies(); } public static void ConfigureForRelease() { ConfigureDependencies(); } private static void ConfigureDependencies() { var builder = new ContainerBuilder(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); // common services builder.RegisterType().As().WithProperty("Url", ApacConfig.AppSettings.LoginServiceUrl()); // todo AG add .InstancePerRequest() to type registration builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().PropertiesAutowired(); builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterFilterProvider(); DependencyResolver.SetResolver(new AutofacDependencyResolver(builder.Build())); } } }