Esempio n. 1
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         Kooboo.CMS.Content.Persistence.Providers.DefaultProviderFactory = new Mysql.ProviderFactory();
     }, 0);
 }
Esempio n. 2
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         Kooboo.CMS.Caching.CacheExpiredNotification.Notifiactions.Add(new NotifyRemoteServer());
     }, 0);
 }
Esempio n. 3
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         Kooboo.CMS.Account.Persistence.RepositoryFactory.Factory = new Kooboo.CMS.Account.Persistence.SqlSever.RepositoryFactory();
     }, 0);
 }
Esempio n. 4
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         ResetProviders();
     }, 1);
 }
Esempio n. 5
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         Kooboo.CMS.Sites.View.TemplateEngines.RegisterEngine(new WebFormTemplateEngine());
     }, 0);
 }
Esempio n. 6
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         Kooboo.CMS.Caching.CacheExpiredNotification.Notifiactions.Add(new AzureInstancesCachingNotification());
     }, 0);
 }
Esempio n. 7
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         Bzway.Website.Sites.View.TemplateEngines.RegisterEngine(new RazorTemplateEngine());
     }, 0);
 }
Esempio n. 8
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         Kooboo.Connect.UserServices.DefaultProvider = new MSSQLProvider();
     }, 0);
 }
Esempio n. 9
0
 public static void Initialize()
 {
     ApplicationInitialization.RegisterInitializerMethod(delegate()
     {
         System.Web.Mvc.ViewEngines.Engines.Add(Kooboo.CMS.Sites.TemplateEngines.NVelocity.MvcViewEngine.NVelocityViewEngine.Default);
         Kooboo.CMS.Sites.View.TemplateEngines.RegisterEngine(new NVelocityTemplateEngine());
     }, 0);
 }
Esempio n. 10
0
        protected override void OnStartup(StartupEventArgs e)
        {
            container = new WindsorContainer();
            container.Install(FromAssembly.This());
            appInit = container.Resolve <ApplicationInitialization>();

            // prepare view-models before showing main window
            appInit.InitializeBeforeShowingTheWindow();
            appInit.ShowWindow();

            // to have the ability to show messages, we must have main Window shown
            // hence attach central error handler after the window is displayed
            DispatcherUnhandledException += App_DispatcherUnhandledException;
            appInit.InitializeAfterShowingTheWindow();
        }
Esempio n. 11
0
        //=====================================================================

        public void InitializeGeneratedApplication()
        {
            // Creating a new container builder instead of using builder.Update(), because of severe performance issues with the Update method.

            _logger.Info("Loading generated plugins.");
            var stopwatch = Stopwatch.StartNew();

            Action <IRhetosHostBuilder> configureRhetosHost = builder =>
            {
                builder.UseBuilderLogProvider(_logProvider)
                .ConfigureContainer(AddAppInitializationComponents);
            };

            using (var rhetosHost = _rhetosHostFactory(configureRhetosHost))
            {
                Type[] initializers;
                using (var scope = rhetosHost.CreateScope())
                {
                    // EfMappingViewsInitializer is manually executed before other initializers because of performance issues.
                    // It is needed for most of the initializer to run, but lazy initialization of EfMappingViews on first DbContext usage
                    // is not a good option because of significant hash check duration (it would not be applicable in run-time).
                    _logger.Info("Initializing EfMappingViews.");
                    var efMappingViewsInitializer = scope.Resolve <EfMappingViewsInitializer>();
                    efMappingViewsInitializer.Initialize();

                    var performanceLogger = scope.Resolve <ILogProvider>().GetLogger("Performance." + GetType().Name);
                    initializers = ApplicationInitialization.GetSortedInitializers(scope);

                    performanceLogger.Write(stopwatch, "New modules and plugins registered.");
                    scope.LogRegistrationStatistics("InitializeApplication component registrations", _logProvider);
                    scope.CommitAndClose();
                }

                if (!initializers.Any())
                {
                    _logger.Info("No server initialization plugins.");
                }
                else
                {
                    foreach (Type initializerType in initializers)
                    {
                        ApplicationInitialization.ExecuteInitializer(rhetosHost, initializerType, _logProvider);
                    }
                }
            }
        }
Esempio n. 12
0
        private static void InitializeGeneratedApplication(ILogger logger, DeployArguments arguments)
        {
            // Creating a new container builder instead of using builder.Update, because of severe performance issues with the Update method.
            Plugins.ClearCache();

            logger.Trace("Loading generated plugins.");
            var stopwatch = Stopwatch.StartNew();

            var builder = new ContainerBuilder();

            builder.RegisterModule(new AutofacModuleConfiguration(
                                       deploymentTime: false,
                                       configurationArguments: arguments));

            using (var container = builder.Build())
            {
                var performanceLogger = container.Resolve <ILogProvider>().GetLogger("Performance");
                var initializers      = ApplicationInitialization.GetSortedInitializers(container);

                performanceLogger.Write(stopwatch, "DeployPackages.Program: New modules and plugins registered.");
                Plugins.LogRegistrationStatistics("Initializing application", container);

                if (!initializers.Any())
                {
                    logger.Trace("No server initialization plugins.");
                }
                else
                {
                    foreach (var initializer in initializers)
                    {
                        ApplicationInitialization.ExecuteInitializer(container, initializer);
                    }
                }
            }

            RestartWebServer(logger);
        }
Esempio n. 13
0
        protected void Application_Start()
        {
            //execute the initializer method.
            ApplicationInitialization.Execute();

            #region mono
#if MONO
            Kooboo.HealthMonitoring.Log.Logger = (e) => {
                string   msgFormat = @"
Event message: {0}
Event time: {1}
Event time {2}
Exception information:
    Exception type: {3}
    Exception message: {0}

Request information:
    Request URL: {4}
    User host address: {5}
    User: {6}
    Is authenticated: {7}
Thread information:
    Thread ID: {8}    
    Stack trace: {9}
";
                string[] args      = new string[13];
                args[0] = e.Message;
                args[1] = DateTime.Now.ToString(System.Globalization.CultureInfo.InstalledUICulture);
                args[2] = DateTime.UtcNow.ToString(System.Globalization.CultureInfo.InstalledUICulture);
                args[3] = e.GetType().ToString();
                if (System.Web.HttpContext.Current != null)
                {
                    var request = HttpContext.Current.Request;
                    args[4] = request.RawUrl;
                    args[5] = request.UserHostAddress;
                    args[6] = HttpContext.Current.User.Identity.Name;
                    args[7] = HttpContext.Current.User.Identity.IsAuthenticated.ToString();
                }
                args[8] = System.Threading.Thread.CurrentThread.ManagedThreadId.ToString();
                args[9] = e.StackTrace;

                Kooboo.CMS.Web.HealthMonitoring.TextFileLogger.Log(string.Format(msgFormat, args));
            };
#endif
            #endregion

            //
            ControllerBuilder.Current.SetControllerFactory(new Kooboo.CMS.Sites.CMSControllerFactory());

            //ViewEngine for module.
            ViewEngines.Engines.Insert(0, new Kooboo.CMS.Sites.Extension.ModuleArea.ModuleRazorViewEngine());
            ViewEngines.Engines.Insert(1, new Kooboo.CMS.Sites.Extension.ModuleArea.ModuleWebFormViewEngine());
            ViewEngines.Engines.Insert(2, new CustomRazorViewEngine());
            ViewEngines.Engines.Insert(3, new CustomWebFormViewEngine());


            AreaRegistration.RegisterAllAreas();

            ModelBinders.Binders.Add(typeof(Dynamic.DynamicDictionary), new DynamicDictionaryBinder());
            //ModelBinders.Binders.Add(typeof(Dictionary<string, string>), new StringDictionaryBinder());

            RegisterRoutes(RouteTable.Routes);

            Kooboo.CMS.Content.Persistence.Providers.RepositoryProvider.TestDbConnection();
        }
        public override void Application_Start(object sender, EventArgs e)
        {
            base.Application_Start(sender, e);

            //execute the initializer method.
            ApplicationInitialization.Execute();

            #region mono
#if MONO
            Kooboo.HealthMonitoring.Log.Logger = (exception) =>
            {
                string   msgFormat = @"
Event message: {0}
Event time: {1}
Event time {2}
Exception information:
    Exception type: {3}
    Exception message: {0}

Request information:
    Request URL: {4}
    User host address: {5}
    User: {6}
    Is authenticated: {7}
Thread information:
    Thread ID: {8}    
    Stack trace: {9}
";
                string[] args      = new string[13];
                args[0] = exception.Message;
                args[1] = DateTime.Now.ToString(System.Globalization.CultureInfo.InstalledUICulture);
                args[2] = DateTime.UtcNow.ToString(System.Globalization.CultureInfo.InstalledUICulture);
                args[3] = e.GetType().ToString();
                if (System.Web.HttpContext.Current != null)
                {
                    var request = HttpContext.Current.Request;
                    args[4] = request.RawUrl;
                    args[5] = request.UserHostAddress;
                    args[6] = HttpContext.Current.User.Identity.Name;
                    args[7] = HttpContext.Current.User.Identity.IsAuthenticated.ToString();
                }
                args[8] = System.Threading.Thread.CurrentThread.ManagedThreadId.ToString();
                args[9] = exception.StackTrace;

                Kooboo.CMS.Web.HealthMonitoring.TextFileLogger.Log(string.Format(msgFormat, args));
            };
#endif
            #endregion

            //
            ControllerBuilder.Current.SetControllerFactory(new Kooboo.CMS.Sites.CMSControllerFactory());

            #region MVC Inject
            DependencyResolver.SetResolver(new Kooboo.CMS.Common.DependencyResolver(EngineContext.Current, DependencyResolver.Current));
            #endregion

            //ViewEngine for module.
            ViewEngines.Engines.Insert(0, new Kooboo.CMS.Sites.Extension.ModuleArea.ModuleRazorViewEngine());
            ViewEngines.Engines.Insert(1, new Kooboo.CMS.Sites.Extension.ModuleArea.ModuleWebFormViewEngine());
            ViewEngines.Engines.Insert(2, new CustomRazorViewEngine());


            AreaRegistration.RegisterAllAreas();

            #region Binders
            ModelBinders.Binders.DefaultBinder = new Json_netModelBinder();

            ModelBinders.Binders.Add(typeof(DynamicDictionary), new DynamicDictionaryBinder());
            ModelBinders.Binders.Add(typeof(Kooboo.CMS.Sites.DataRule.IDataRule), new Kooboo.CMS.Web.Areas.Sites.ModelBinders.DataRuleBinder());
            ModelBinders.Binders.Add(typeof(Kooboo.CMS.Sites.DataRule.DataRuleBase), new Kooboo.CMS.Web.Areas.Sites.ModelBinders.DataRuleBinder());
            ModelBinders.Binders.Add(typeof(Kooboo.CMS.Sites.Models.PagePosition), new Kooboo.CMS.Web.Areas.Sites.ModelBinders.PagePositionBinder());
            ModelBinders.Binders.Add(typeof(Kooboo.CMS.Sites.Models.Parameter), new Kooboo.CMS.Web.Areas.Sites.ModelBinders.ParameterBinder());
            #endregion

            RegisterRoutes(RouteTable.Routes);


            Kooboo.Web.Mvc.Menu.MenuFactory.RegisterAreaMenu("AreasMenu", Path.Combine(Settings.BaseDirectory, "Menu.config"));

            Kooboo.CMS.Content.Persistence.Providers.RepositoryProvider.TestDbConnection();
        }