Пример #1
0
        public void StartFramework()
        {
            // Register App/Web Config components

            if (!_registeredConfig)
            {
                RegisterAppConfig();
            }

            if (!_registeredModuleConfig)
            {
                RegisterAllModuleConfig();
            }

            // Execute all the initialization tasks syncronously and in sequence
            ComponentRegistry
            .Instance
            .ResolveAll <IApplicationInitializeTask>()
            .OrderBy(initTask => initTask.Sequence)
            .ForEach(
                initTask => Exceptions.ExecuteIgnoringException(initTask.Initialize)
                );

            // Execute all the start tasks asyncronously
            ComponentRegistry
            .Instance
            .ResolveAll <IApplicationStartTask>()
            .ForEach(
                startTask => Lambda.ActionAsAsyncronous(startTask.Start).IgnoringExceptions().Invoke()
                );

            StartAllModules();
        }