コード例 #1
0
 public object Create(object parent, object configContext, XmlNode section)
 {
     return(ShellSettings.Load(section));
 }
コード例 #2
0
        /*
         * public static SessionStore SessionStore
         * {
         *  get
         *  {
         *      return Instance.sessionStore;
         *  }
         * }
         */

        private static void ConfigurateLogger(ShellSettings cfg)
        {
            LoggerProvider.Configurate(cfg);
        }
コード例 #3
0
        private static void RegisterInsideComponents(ContainerBuilder containerBuilder, ShellSettings cfg)
        {
            containerBuilder.RegisterInstance(cfg).SingleInstance();
            containerBuilder.RegisterType <DbDomainManager>()
            .As <IDbDomainManager>().SingleInstance();
            containerBuilder.RegisterType <ModuleManager>()
            .As <IModuleManager>().SingleInstance();
            containerBuilder.RegisterType <SlipstreamService>()
            .As <ISlipstreamService>().SingleInstance();

            Data.IDataProvider dataProvider = null;
            switch (cfg.DbType)
            {
            case "mssql":
                dataProvider = new Data.Mssql.MssqlDataProvider();
                break;

            case "postgres":
                dataProvider = new Data.Postgresql.PgDataProvider();
                break;

            default:
                throw new NotSupportedException("Not supported database: " + cfg.DbType);
            }

            containerBuilder.RegisterInstance <Data.IDataProvider>(dataProvider)
            .SingleInstance();

            //加注册 MEF 管理的插件

            //TODO 目前都是放在一个 dll 里,以后要分开
            //var selfCatalog = new AssemblyCatalog(System.Reflection.Assembly.GetExecutingAssembly());
            //containerBuilder.RegisterComposablePartCatalog(selfCatalog);
            //加载内置的 DataProviders

            /*
             * var assemblies = new Assembly[] {
             *  Assembly.GetExecutingAssembly()
             * };
             * containerBuilder.RegisterAssemblyTypes(assemblies)
             *  .Where(t => t.Name.EndsWith("DataProvider"))
             *  .AsImplementedInterfaces();
             */
        }
コード例 #4
0
 public static void Initialize(ShellSettings config)
 {
     TryInitialize(config);
 }