public static void PreStart()
        {
            InitConfigurations();

            var scope = ConfigurationManager.Get <int>(CommonConfigurations.Group, CommonConfigurations.IDGeneratorScope, DefaultIDGeneratorScope);

            IDGenerator.SetProvider(new UniqueNumberProvider(scope));

            ServiceRegistrations.PerformRegistrations(ServiceRegistrations.SystemOrder, container =>
            {
                container.EnableAnnotatedConstructorInjection();
                container.EnableAnnotatedPropertyInjection();
                container.EnablePerWebRequestScope();

                // register all controllers
                foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
                {
                    if (asm.FullName.StartsWith("NLogging"))
                    {
                        container.RegisterControllers(asm);
                    }
                }

                // other services
                //container.Register<HttpClient>(sf => CreateHttpClient(), new PerScopeLifetime());
                //container.Register<IPeopleStore, HttpPeopleStore>(new PerScopeLifetime());
                //container.Register<IReportStore, HttpReportStore>(new PerScopeLifetime());
                //container.Register<IAuthenticationStore, HttpAuthenticationStore>(new PerScopeLifetime());
            });
        }
        public static void PostStart()
        {
            ServiceRegistrations.PerformRegistrations(ServiceRegistrations.LastOrder, container =>
            {
                container.EnableMvc();
            });

            ServiceRegistrations.Apply();
        }