Ejemplo n.º 1
0
        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);
        }