Пример #1
0
        protected override void initializeApplication() {
            base.initializeApplication();
			QuickInstaller.PrepareQWeb(ioc.Container);
            appendstartlog("qweb prepared");
			setupServices();
            appendstartlog("services setuped");
            if (ioc.Container is WindsoreInversionContainer) {
                container = ((WindsoreInversionContainer) myapp.ioc).Container;
                container.AddFacility("monorail", new MonoRailFacility());
                container.LoadDefaultXml();
                appendstartlog("ioc started");
            }
            Container
                .setupSecurity(typeof (XmlRoleProvider<BxlApplicationXmlReader>))
                .setupFilesystem()
                .set<IWidgetRepository, BxlWidgetRepository>()
                .set<IUniqueStringProvider, RandomStringUniqueStringProvider>()
                ;
            appendstartlog("default services seted to ioc");

            var dir = AppDomain.CurrentDomain.BaseDirectory;
            if( File.Exists(dir + "\\NHibernate.dll")) {
                Container.setupHibernate(string.IsNullOrWhiteSpace(connection)
                                             ? (IConnectionsSource)null
                                             : new NamedConnection(connection, connection));
            }
            appendstartlog("hibernate setted up");

            Container
                .set<FirstRunController>()
                .set<RestartController>()
                .set<EchoController>()
                .set<SysInfoController>()
                .set<RescueController>()
                .set<ProfileController>()
                .set<ExtInstallerController>()
                .set<RoleController>()
                .set<ImpersonateController>()
                .set<NotAuthorizedController>()
                .set<FileManagerController>()

                //wiki support
                .set<IWikiRepository, WikiRepository>()
                .set<IWikiRenderService, WikiRender>()
                .set<IWikiPersistenceProvider, WikiPersistenceProvider>()
                .AddTransient("wiki.usuallink", typeof(WikiPageLinkRender))
                .set<WikiController>()
                ;

            appendstartlog("container setted up");
            configureViews();
            appendstartlog("views configured");
        }