public static Container Initialize() { var container = new Container(); container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle(); container.RegisterSingleton <Configuration>(); container.RegisterSingleton <IConfiguration>(container.GetInstance <Configuration>); container.RegisterSingleton <IClient, Client>(); container.RegisterSingleton <IDataBaseAccessor, DataBaseAccessor>(); RepositoryComponentRegistration.RegisterRepositories(container); container.RegisterWebApiControllers(GlobalConfiguration.Configuration); container.Verify(); GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container); return(container); }
/// <summary>Initialize the container and register it as Web API Dependency Resolver.</summary> public static void Initialize() { var vContainer = new Container(); // To use the "greediest constructor" paradigm, add the following line: vContainer.Options.ConstructorResolutionBehavior = new MostResolvableParametersConstructorResolutionBehavior(vContainer); vContainer.Options.DefaultScopedLifestyle = new WebApiRequestLifestyle(); InitializeContainer(vContainer); vContainer.RegisterWebApiControllers(GlobalConfiguration.Configuration); // From the docs, these next two lines need to be added for MVC vContainer.RegisterMvcControllers(Assembly.GetExecutingAssembly()); vContainer.RegisterMvcIntegratedFilterProvider(); vContainer.Verify(); GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(vContainer); }