Esempio n. 1
0
        public static void Initialize(
            HttpConfiguration config,
            IApiContainer container = null,
            IDomainServiceResolver domainServiceResolver = null,
            Action <HttpConfiguration> postConfigure     = null,
            bool initializeHelpPage = true) // TODO: refactor to instance BootStrapper class and make InitializeDocumentationApplication() public; pass all parameter in a constructor or factory
        {
            if (config == null)
            {
                throw new ArgumentNullException("config");
            }

            var hconfig = SetConfiguration(config, postConfigure);

            container = container ?? CreateContainer(config, domainServiceResolver);
            container.RegisterDependencies();
            SetupDependencyResolver(config, container);

            ConfigureFormatters(config, container);
            ConfigureMessageHandlers(config.MessageHandlers, container);
            ConfigureFilters(config.Filters, container);

            container.Resolve <IWebApiConfigurator>()
            .Configure(config, hconfig);

            if (initializeHelpPage)
            {
                InitializeDocumentationApplication(config, container);
            }
        }